Showing posts from 2017

How to view the SQL generated query by the Entity Framework

If we want to write log file of Entity Framework query in EF 6 we can follow this step

Step 1: Open EDMX cs file and copy the code:

protected override void OnModelCreating(DbModelBuilder modelBuilder) { Database.Log = (query) => Debug.Write(query); }

Step 2 : write log on your Entity Framework query

refauthrequests refauthEntity = EM_Refauthrequests.ConvertToEntity(vsspoAuditModel); _db.refauthrequests.Add(refauthEntity); _db.Database.Log = queryLog => { Debug.Print(queryLog); // Debug.Print will show the output on visual studio output window You can write log using queryLog value }; _db.SaveChanges();

If you set debugger you will see the output window

SQL Generate Date from given date range

WITH Dates AS ( SELECT [Date] = CONVERT(DATETIME,'1-1-2017') UNION ALL SELECT [Date] = DATEADD(DAY, 1, [Date]) FROM Dates WHERE Date < '12-31-2017' ) SELECT [Date] FROM Dates OPTION (MAXRECURSION 1000)

Run all SQL files from a folder

Run all SQL files from  a folder you can follow the process that will save your time for executing SQL script

Copy this code in a notepad file and change the Server, Database, Username And Password value as your self and save it as a .bat file. copy the file in your SQL script folder and run this bat file.

REM REM development environment only!! REM pause for %%G in (*.sql) do sqlcmd /S "\SQLEXPRESS" /d "VSSPORT_DEV" -U "atiour" -P "atiour" -i"%%G" pause REM REM All Script Run Successfully REM

nopcommerce gmail and godaddy email setting

Gmail Setting

1. Login to your gmail account.
2. Visit this page and click on button to allow access.
3. Visit this page and enable access for less secure apps.
4. Login to your nopCommerce admin portal and visit this page and click edit  and click to delete the account.
5. Now use following details:
   Email address:
   E display name: your website name
   Password: password, remember to click change password button if you are editing any existing account
   SSL: tick to select it
   Use default credentials: uncheck, do not select it
6. Click on save button above.
7. Test the mailing by entering your email id and click on send test email button.

Godaddy Setting

the type 'system Attribute' is defined in an assembly that is not referenced.You must add a reference to assembly 'system.runtime, version=, culture=neutral, PublickKeyToken=b03f5f7f11d50a3a'

In this error message,{assembly}represents one of the actual files that is found in the "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Facades" folder.

To resolve this problem, install the updated version of the Microsoft .NET Framework 4.5.2 Developer Pack. For download information

During Installation if you get update windows option then update the windows it will resolve your problem.

C# dynamic linq query

In to Linq query, we can use dynamic query:

public List<Insplan> GetInsplanLookupList(string planName = null, string binNo = null, string procCtrl = null) { var query = (from i in _db.insplan orderby i.cinsplanname ascending select i).AsQueryable(); if (!string.IsNullOrWhiteSpace(planName)) query = query.Where(x => x.cinsplanname.StartsWith(planName.Trim())); if (!string.IsNullOrWhiteSpace(binNo)) query = query.Where(x => x.cbinno.StartsWith(binNo.Trim())); if (!string.IsNullOrWhiteSpace(procCtrl)) query = query.Where(x => x.cprocctrlno.StartsWith(procCtrl.Trim())); return (from q in query join ic in _db.inscomp on q.inscompid_FK equals ic.inscompid_PK into ic_joined from ic in ic_joined.DefaultIfEmpty() join cl in on q.clinicid_FK equals cl.clinicid_PK into cl_joined from cl in cl_joined.De…

mvvm double click event in listview

If you want to get the double click event on a listview item you can try with this code;

<ListView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Width="250" Height="200" HorizontalAlignment="Stretch" VerticalAlignment="Top" AlternationCount="2" BorderBrush="#FFA8CC7B" ItemContainerStyle="{StaticResource alternatingStyle}" ItemsSource="{Binding FromPayerNameList}" SelectedItem="{Binding SelectedFromPayer, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate> <TextBlock Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" Text="…

T-SQL row Count by hourly range on datetime field

If you want to row count hourly based on date range like this:

You can try with this SQL:

;with mycte as (Select case when datepart(hour, tprocesstime) between 0 and 8 then 0 when datepart(hour, tprocesstime) >= 21 then 21 else datepart(hour, tprocesstime) end as OnHour , * From profile) Select Case OnHour when 0 then '0AM-9AM' when 9 then '9AM-10AM' when 10 then '10AM-11AM' when 11 then '11AM-12PM' when 12 then '12PM-1PM' when 13 then '1PM-2PM' when 14 then '2PM-3PM' when 15 then '3PM-4PM' when 16 then '4PM-5PM' when 17 then '5PM-6PM' when 18 then '6PM-7PM' when 19 then '7PM-8PM' when 20 then '8PM-9PM' when 21 then…

C# create folder on runtime

You can try this code: this will read data from app.config for folder path. if the the path is not found then it it will create folder.

string curDirectory = ConfigurationManager.AppSettings["AppOutPath"]; if (Directory.Exists(curDirectory + @"\Uploads")) { // Do something } else { Directory.CreateDirectory(curDirectory + @"\Uploads"); // Do something }

sql replace coma seperated string

I have a string like this:


From this string i want to  remove 00001 with '' because this is a prefix of my every coma separated value.

REPLACE((SUBSTRING(m_rx_nos,6,LEN(CAST(m_rx_nos AS VARCHAR(500)))-6)),(',0000'+ CONVERT(VARCHAR(100),f.pharminfoid_FK)),',') as m_rx_nos
 Out Put:


WPF Devexpress Datagrid checkbox binding

We can easily bind the checkbox on devexpress datagrid

<dxgcore:GridColumn Width="20" AllowEditing="True" Binding="{Binding Path=IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Header="R" Visible="{Binding CheckboxSelection}" VisibleIndex="6"> <dxgcore:GridColumn.CellTemplate> <DataTemplate> <dxe:CheckEdit HorizontalAlignment="Center" VerticalAlignment="Center" Command="{Binding Path=View.DataContext.IsCheckedCommand}" CommandParameter="{Binding RowData.Row}" IsChecked="{Binding RowData.Row.IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" …

Visual Studio copy dll from project folder to bin folder on build solution

If we want to copy from project folder DLL (3rd party or other type)  to Bin folder during build the solution we can easily map that option.

right click on you solution -> Properties -> Buld Events and follow the format for your folder

C:\Windows\System32\xcopy /d /y "$(ProjectDir)PackagedDLL\FAX\*.*" "$(TargetDir)"
In my case FAX is my folder name.

T-SQL update table from join table value

If you want to update your table from join table value you can try with this:

UPDATE r SET r.l_auto_refill = 1 ,r.d_start_date = p.dDispDate ,r.n_frequency = p.nDispDaysSupply ,r.d_next_fill = DATEADD(DAY, p.ndispdayssupply, p.ddispdate) FROM rx r INNER join profile AS p ON r.[rxno_PK] = p.rxno_FK where r.rxno_PK = '000010578126'

T-SQL get one records from multiple same record based on max value for join

Let's say you have same type 6 record, into this record when you will picked data you will pick only one record which has highest value.

SELECT * FROM rx r INNER join (SELECT distinct t1.* FROM profile t1 LEFT OUTER JOIN profile t2 ON (t1.rxno_FK = t2.rxno_FK AND t1.nrefillno < t2.nrefillno ) WHERE t2.dispid_PK IS NULL) AS p ON r.[rxno_PK] = p.rxno_FK

sql get all table names with primary key columns

If you want to get all table name with table primary key coloumn you can use the sql query.

SELECT AS IndexName, OBJECT_NAME(ic.OBJECT_ID) AS TableName, COL_NAME(ic.OBJECT_ID,ic.column_id) AS ColumnName FROM sys.indexes AS i INNER JOIN sys.index_columns AS ic ON i.OBJECT_ID = ic.OBJECT_ID AND i.index_id = ic.index_id WHERE i.is_primary_key = 1