Showing posts from March, 2017

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…