Hi,
I try to set a relative path for the temporary upload path, but I'm not know what's wrong.
<add key="Telerik.AsyncUpload.TemporaryFolder" value="/upload/_temp" />
leads to: 'C:\upload\_temp\RadUploadTestFile'
<add key="Telerik.AsyncUpload.TemporaryFolder" value="upload/_temp" />
leads to: 'C:\inetpub\twoeyes_intranet_beta\documentruler\upload\_temp\RadUploadTestFile'
The first example seems to ignore the MapPath which is: 'C:\inetpub\twoeyes_intranet_beta\'
The second example shows an expected behaviour.
Best regards,
Roland
hi
i need your assistance i need a ajax Grid
with first column is check box all other columns are editable
and in tool bar there is a save changes button
how can i achieve this ?
I am trying to display a binaryimage within a RadLightBox. I've tried so many things but haven't found a solution. I thought if I created a RadLightBoxTemplate and added a RadLightBoxItem it would work. But doesn't seem to support Image control.
Thanks
Terri Popson
I am looking for a way to show the time as a hint or tooltip when hovering an open timeslot (or clicking an open timeslot if this functionality is not available). Is there a way to do this?
Hello!
I am using RadAsyncUpload control in my sharepoint web page. But the Custom Handler throws 403 error on POST (Get is Ok). I have modified web config, but i didnt help. What is problem?
<
handlers
>
<
add
name
=
"Telerik.Web.UI.WebResource"
path
=
"Telerik.Web.UI.WebResource.axd"
verb
=
"*"
type
=
"Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2013.3.1114.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
/>
<
add
name
=
"FileUploadToLibraryHandler"
verb
=
"*"
path
=
"/_layouts/15/Asp.Str.UI/Pages/FileUploadToLibraryHandler.ashx"
type
=
"Asp.Str.UI.HttpHandlers.FileUploadToLibraryHandler, Asp.Str.UI, Version=2014.1.0.1, Culture=neutral, PublicKeyToken=a9a40be1d4d5fefa"
/>...</handlers>
<location path="_layouts/15/Asp.Str.UI/Pages/FileUploadToLibraryHandler.ashx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/masterpages/OneColumn.master" CodeBehind="ReconcileTime.aspx.vb" Inherits="SOREOIB.ReconcileTime" %>
<%@ Register Src="~/controls/pickers/CustomerPicker.ascx" TagName="CustomerPicker" TagPrefix="uc1" %>
<%@ Register Src="~/controls/pickers/EmployeePicker.ascx" TagName="EmployeePicker" TagPrefix="uc2" %>
<%@ Register Src="~/controls/linkers/ContactLink.ascx" TagName="ContactLink" TagPrefix="uc3" %>
<%@ Register Src="~/controls/pickers/AuthorizationPicker.ascx" TagName="AuthorizationPicker" TagPrefix="uc4" %>
<%@ Register Src="~/controls/linkers/AuthorizationLink.ascx" TagName="AuthorizationLink" TagPrefix="uc5" %>
<%@ Register Src="../../../controls/pickers/ServiceCodePicker.ascx" TagName="ServiceCodePicker" TagPrefix="uc8" %>
<%@ Register Src="../../../controls/pickers/FundingOrganizationPicker.ascx" TagName="FundingOrganizationPicker" TagPrefix="uc6" %>
<%@ Register Src="../../../controls/BillingPeriodPicker.ascx" TagName="BillingPeriodPicker" TagPrefix="uc7" %>
<%@ Register Assembly="Telerik.OpenAccess.Web, Version=2014.3.1209.1, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342" Namespace="Telerik.OpenAccess" TagPrefix="telerik" %>
<%@ Register src="controls/TimeForDay.ascx" tagname="TimeForDay" tagprefix="uc9" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"cphMain"
runat
=
"server"
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
>
</
telerik:RadAjaxLoadingPanel
>
<
script
type
=
"text/javascript"
>
function onRequestStart(sender, args) {
if (args.get_eventTarget().indexOf("btnExportToExcel") >= 0)
args.set_enableAjax(false);
}
</
script
>
<
div
style
=
"background-image: url(../../../images/betasoftware-s.jpg); background-repeat: no-repeat; background-position: right top;"
>
<
table
cellpadding
=
"5"
>
<
tr
>
<
td
rowspan
=
"4"
>
<
span
style
=
"position: relative; top: 15px;"
>
<
asp:Image
ID
=
"Image1"
runat
=
"server"
ImageAlign
=
"AbsMiddle"
ImageUrl
=
"~/images/window_gear-m.png"
/>
</
span
>
</
td
>
<
td
>
<
h2
>Step 1: Import Raw Time Report Data
</
h2
>
<
div
class
=
"Instructions"
>
Import the raw
<
asp:Label
ID
=
"Label2"
runat
=
"server"
Text="<%$ Resources:G3Resources, TimekeepingSystemName %>"></
asp:Label
>
timesheet file using the form below.
</
div
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadAsyncUpload
ID
=
"uplTimesheetDetailReportFile"
runat
=
"server"
TargetFolder
=
"~/App_Data/Temp"
>
</
telerik:RadAsyncUpload
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel2"
runat
=
"server"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel2"
LoadingPanelID
=
"RadAjaxLoadingPanel2"
ClientEvents-OnRequestStart
=
"onRequestStart"
runat
=
"server"
Width
=
"300px"
Height
=
"50px"
>
<
asp:Label
ID
=
"lblStatus"
runat
=
"server"
Text
=
"Ready."
></
asp:Label
>
<
br
/>
<
br
/>
<
telerik:RadButton
ID
=
"btnImport"
runat
=
"server"
Text
=
"Import File"
></
telerik:RadButton
>
</
telerik:RadAjaxPanel
>
</
td
>
</
tr
>
</
table
>
<
br
/>
<
br
/>
<
br
/>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
ClientEvents-OnRequestStart
=
"onRequestStart"
runat
=
"server"
>
</
telerik:RadAjaxPanel
>
<
table
cellpadding
=
"5"
>
<
tr
>
<
td
rowspan
=
"4"
>
<
span
style
=
"position: relative; top: 15px;"
>
<
asp:Image
ID
=
"Image2"
runat
=
"server"
ImageAlign
=
"AbsMiddle"
ImageUrl
=
"~/images/window_gear-m.png"
/>
</
span
>
</
td
>
<
td
colspan
=
"4"
>
<
h2
>Step 2: Verify the content</
h2
>
<
div
class
=
"Instructions"
>
Verify that the dates within the source data are overlapping.
</
div
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
<
table
width
=
"100%"
cellpadding
=
"5"
>
<
tr
>
<
td
>
<
asp:Button
ID
=
"btnGetStatistics"
runat
=
"server"
Text
=
"Get Statistics"
/>
</
td
>
<
td
align
=
"center"
>
<
span
style
=
"position:relative; font-size:larger; font-weight:bold;"
>
Dates with Relevant Time Records in Green
</
span
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
div
style
=
"font-size: large; font-weight: bold;"
>CMS Report</
div
>
<
table
>
<
tr
>
<
td
>
Begin:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblCMSReportStartDate"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
End:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblCMSReportEndDate"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Records:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblCMSReportRecordCount"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
First ID:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblCMSReportFirstTimesheetID"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Last ID:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblCMSReportLastTimesheetID"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
td
>
<
td
>
<
telerik:RadCalendar
ID
=
"datCMSReport"
runat
=
"server"
EnableWeekends
=
"True"
FastNavigationNextText
=
"<<"
SelectedDate
=
""
MultiViewColumns
=
"3"
AutoPostBack
=
"false"
CssClass
=
"RadCalendarMultiView RadCalendarMultiView_Default"
>
<
SpecialDays
>
<
telerik:RadCalendarDay
Date
=
""
Repeatable
=
"Today"
>
<
ItemStyle
CssClass
=
"rcToday"
/>
</
telerik:RadCalendarDay
>
</
SpecialDays
>
<
WeekendDayStyle
CssClass
=
"rcWeekend"
/>
<
CalendarTableStyle
CssClass
=
"rcMainTable"
/>
<
OtherMonthDayStyle
CssClass
=
"rcOtherMonth"
/>
<
OutOfRangeDayStyle
CssClass
=
"rcOutOfRange"
/>
<
DisabledDayStyle
CssClass
=
"rcDisabled"
/>
<
SelectedDayStyle
CssClass
=
"rcSelected"
/>
<
DayOverStyle
CssClass
=
"rcHover"
/>
<
FastNavigationStyle
CssClass
=
"RadCalendarMonthView RadCalendarMonthView_Default"
/>
<
ViewSelectorStyle
CssClass
=
"rcViewSel"
/>
</
telerik:RadCalendar
>
</
td
>
</
tr
>
<
tr
id
=
"rowLastImport"
runat
=
"server"
>
<
td
>
<
div
style
=
"font-size: large; font-weight: bold;"
>Last Billing File</
div
>
<
table
>
<
tr
>
<
td
>
Begin:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblLatestBillingFileImportStartDate"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
End:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblLatestBillingFileImportEndDate"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Records:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblLatestBillingFileImportRecordCount"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
First ID:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblLatestBillingFileImportFirstTimesheetID"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Last ID:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblLatestBillingFileImportLastTimesheetID"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
td
>
<
td
>
<
telerik:RadCalendar
ID
=
"datLatestBillingFileImport"
runat
=
"server"
AutoPostBack
=
"True"
EnableWeekends
=
"True"
FastNavigationNextText
=
"<<"
SelectedDate
=
""
MultiViewColumns
=
"3"
>
<
SpecialDays
>
<
telerik:RadCalendarDay
Date
=
""
Repeatable
=
"Today"
>
<
ItemStyle
CssClass
=
"rcToday"
/>
</
telerik:RadCalendarDay
>
</
SpecialDays
>
<
WeekendDayStyle
CssClass
=
"rcWeekend"
/>
<
CalendarTableStyle
CssClass
=
"rcMainTable"
/>
<
OtherMonthDayStyle
CssClass
=
"rcOtherMonth"
/>
<
OutOfRangeDayStyle
CssClass
=
"rcOutOfRange"
/>
<
DisabledDayStyle
CssClass
=
"rcDisabled"
/>
<
SelectedDayStyle
CssClass
=
"rcSelected"
/>
<
DayOverStyle
CssClass
=
"rcHover"
/>
<
FastNavigationStyle
CssClass
=
"RadCalendarMonthView RadCalendarMonthView_Default"
/>
<
ViewSelectorStyle
CssClass
=
"rcViewSel"
/>
</
telerik:RadCalendar
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
div
style
=
"font-size: large; font-weight: bold;"
>G2 Timesheet</
div
>
<
table
>
<
tr
>
<
td
>
Begin:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblG2StartDate"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
End:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblG2EndDate"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Records:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblG2RecordCount"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
First ID:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblFirstG2TimesheetID"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Last ID:
</
td
>
<
td
>
<
asp:Label
ID
=
"lblLastG2TimesheetID"
runat
=
"server"
Text
=
"?"
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
td
>
<
td
>
<
telerik:RadCalendar
ID
=
"datG2Timesheet"
runat
=
"server"
AutoPostBack
=
"True"
EnableWeekends
=
"True"
FastNavigationNextText
=
"<<"
SelectedDate
=
""
MultiViewColumns
=
"3"
>
<
SpecialDays
>
<
telerik:RadCalendarDay
Date
=
""
Repeatable
=
"Today"
>
<
ItemStyle
CssClass
=
"rcToday"
/>
</
telerik:RadCalendarDay
>
</
SpecialDays
>
<
WeekendDayStyle
CssClass
=
"rcWeekend"
/>
<
CalendarTableStyle
CssClass
=
"rcMainTable"
/>
<
OtherMonthDayStyle
CssClass
=
"rcOtherMonth"
/>
<
OutOfRangeDayStyle
CssClass
=
"rcOutOfRange"
/>
<
DisabledDayStyle
CssClass
=
"rcDisabled"
/>
<
SelectedDayStyle
CssClass
=
"rcSelected"
/>
<
DayOverStyle
CssClass
=
"rcHover"
/>
<
FastNavigationStyle
CssClass
=
"RadCalendarMonthView RadCalendarMonthView_Default"
/>
<
ViewSelectorStyle
CssClass
=
"rcViewSel"
/>
</
telerik:RadCalendar
>
</
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
</
table
>
<
br
/>
<
br
/>
<
br
/>
<
table
cellpadding
=
"5"
>
<
tr
>
<
td
rowspan
=
"4"
>
<
span
style
=
"position: relative; top: 15px;"
>
<
asp:Image
ID
=
"Image5"
runat
=
"server"
ImageAlign
=
"AbsMiddle"
ImageUrl
=
"~/images/window_gear-m.png"
/>
</
span
>
</
td
>
<
td
colspan
=
"4"
>
<
h2
>Step 3: Configure Filters & Settings
</
h2
>
<
div
class
=
"Instructions"
>
Change the filtering criteria for data inspection using the form below.
</
div
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:HyperLink
ID
=
"lnkManageDiscipline"
runat
=
"server"
CssClass
=
"SectionTitle"
>Date Ranges</
asp:HyperLink
>
<
span
class
=
"SectionInstructions"
>Choose what time frame to view.</
span
>
</
td
>
<
td
>
<
asp:HyperLink
ID
=
"HyperLink3"
runat
=
"server"
CssClass
=
"SectionTitle"
>People Filter</
asp:HyperLink
>
<
span
class
=
"SectionInstructions"
>Filter by the
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text="<%$ Resources:G3Resources, ClientNomenclature %>"></
asp:Label
>
or
<
asp:Label
ID
=
"Label3"
runat
=
"server"
Text="<%$ Resources:G3Resources, ProviderNomenclature %>"></
asp:Label
>.</
span
>
</
td
>
<
td
align
=
"left"
>
<
asp:HyperLink
ID
=
"HyperLink1"
runat
=
"server"
CssClass
=
"SectionTitle"
>MCO Filter</
asp:HyperLink
>
<
span
class
=
"SectionInstructions"
>Filter by Funding Organization.</
span
>
</
td
>
<
td
align
=
"left"
>
<
asp:HyperLink
ID
=
"HyperLink2"
runat
=
"server"
CssClass
=
"SectionTitle"
>Other Filters</
asp:HyperLink
>
<
span
class
=
"SectionInstructions"
>Miscellaneous filters.</
span
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
uc7:BillingPeriodPicker
ID
=
"ctlBillingPeriodPicker"
runat
=
"server"
OverrideDatePresets
=
"true"
/>
</
td
>
<
td
>
<
uc2:EmployeePicker
ID
=
"ctlEmployeePicker"
runat
=
"server"
DisplayMode
=
"SimpleWithLabel"
Label="<%$ Resources:G3Resources, ProviderNomenclature %>" DisableAutoPostback="true" />
<
uc1:CustomerPicker
ID
=
"ctlCustomerPicker"
runat
=
"server"
DisplayMode
=
"SimpleWithLabel"
Label="<%$ Resources:G3Resources, ClientNomenclature %>" DisableAutoPostback="true" />
</
td
>
<
td
>
<
uc6:FundingOrganizationPicker
ID
=
"ctlFundingOrganization"
runat
=
"server"
DisplayMode
=
"SimpleWithLabel"
Label
=
"Funding Org:"
DisableAutoPostback
=
"true"
/>
</
td
>
<
td
>
<
asp:CheckBox
ID
=
"chkIncludeLastImport"
runat
=
"server"
AutoPostBack
=
"false"
Text
=
"Include data from last billing file import"
Checked
=
"true"
/>
<
asp:CheckBox
ID
=
"chkErrorsOnly"
runat
=
"server"
Text
=
"Include only records with time differences"
Enabled
=
"True"
/>
<
asp:CheckBox
ID
=
"chkSingleTimesheetID"
runat
=
"server"
Text
=
"Filter on only one TimesheetID"
Enabled
=
"True"
/>
<
div
style
=
"position: relative; left: 20px;"
>
<
telerik:RadNumericTextBox
ID
=
"radTimesheetID"
runat
=
"server"
DataType
=
"System.Int32"
LabelWidth
=
"40px"
MinValue
=
"1"
Width
=
"75px"
>
<
NegativeStyle
Resize
=
"None"
/>
<
NumberFormat
DecimalDigits
=
"0"
GroupSeparator
=
""
ZeroPattern
=
"n"
/>
<
EmptyMessageStyle
Resize
=
"None"
/>
<
ReadOnlyStyle
Resize
=
"None"
/>
<
FocusedStyle
Resize
=
"None"
/>
<
DisabledStyle
Resize
=
"None"
/>
<
InvalidStyle
Resize
=
"None"
/>
<
HoveredStyle
Resize
=
"None"
/>
<
EnabledStyle
Resize
=
"None"
/>
</
telerik:RadNumericTextBox
>
</
div
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
<
asp:Button
ID
=
"btnSearch"
runat
=
"server"
Text
=
"Search"
/> <
asp:Button
ID
=
"btnReset"
runat
=
"server"
Text
=
"Reset"
/>
</
td
>
</
tr
>
</
table
>
<
br
/>
<
br
/>
<
br
/>
<
table
cellpadding
=
"5"
>
<
tr
>
<
td
rowspan
=
"4"
>
<
span
style
=
"position: relative; top: 15px;"
>
<
asp:Image
ID
=
"Image3"
runat
=
"server"
ImageAlign
=
"AbsMiddle"
ImageUrl
=
"~/images/window_gear-m.png"
/>
</
span
>
</
td
>
<
td
colspan
=
"4"
>
<
h2
>Step 4: View the results
</
h2
>
<
div
class
=
"Instructions"
>
View and pivot the results below.
</
div
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
align
=
"right"
>
<
telerik:RadButton
ID
=
"btnExportToExcel"
runat
=
"server"
Text
=
"Export to Excel"
>
</
telerik:RadButton
>
<
telerik:RadButton
ID
=
"btnExpandCollapseGroups"
runat
=
"server"
Text
=
"Expand / Collapse Groups"
>
</
telerik:RadButton
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
<
telerik:RadPivotGrid
ID
=
"pvtCMStoG2"
runat
=
"server"
EnableToolTips
=
"true"
EnableCaching
=
"true"
RowTableLayout
=
"Outline"
DataSourceID
=
"sqlCMStoG2TimesheetValidation"
PageSize
=
"15"
AggregatesLevel
=
"1"
RowGroupsDefaultExpanded
=
"False"
>
<
PagerStyle
ChangePageSizeButtonToolTip
=
"Change Page Size"
PageSizeControlType
=
"RadComboBox"
AlwaysVisible
=
"True"
></
PagerStyle
>
<
Fields
>
<
telerik:PivotGridColumnField
Caption
=
"Source"
DataField
=
"Source"
UniqueName
=
"Source"
>
<
CalculatedItems
>
<
telerik:PivotGridCalculatedItem
GroupName
=
"Difference"
></
telerik:PivotGridCalculatedItem
>
</
CalculatedItems
>
</
telerik:PivotGridColumnField
>
<
telerik:PivotGridRowField
DataField
=
"MCO"
UniqueName
=
"MCO"
Caption
=
"MCO"
>
</
telerik:PivotGridRowField
>
<
telerik:PivotGridRowField
Caption="<%$ Resources:G3Resources, ClientNomenclature %>" DataField="Customer" UniqueName="Customer">
</
telerik:PivotGridRowField
>
<
telerik:PivotGridRowField
DataField
=
"ServiceStarted"
Caption
=
"Start Time"
DataFormatString
=
"{0:f}"
UniqueName
=
"ServiceStarted"
>
</
telerik:PivotGridRowField
>
<
telerik:PivotGridAggregateField
Aggregate
=
"Sum"
DataField
=
"Hours"
GrandTotalAggregateFormatString
=
""
Caption
=
"Total Hours"
UniqueName
=
"SumOfHours"
>
<
TotalFormat
Axis
=
"Rows"
Level
=
"0"
SortOrder
=
"Ascending"
GroupName
=
"SumOfHours"
/>
<
HeaderCellTemplate
>
<
asp:Label
ID
=
"lblHeader"
runat
=
"server"
Text
=
"Total Hours"
></
asp:Label
>
</
HeaderCellTemplate
>
</
telerik:PivotGridAggregateField
>
<
telerik:PivotGridAggregateField
Aggregate
=
"Count"
DataField
=
"Hours"
GrandTotalAggregateFormatString
=
""
Caption
=
"Service Visits"
UniqueName
=
"CountOfVisits"
>
<
TotalFormat
Axis
=
"Rows"
Level
=
"0"
SortOrder
=
"Ascending"
/>
<
HeaderCellTemplate
>
<
asp:Label
ID
=
"lblHeader"
runat
=
"server"
Text
=
"Service Count"
></
asp:Label
>
</
HeaderCellTemplate
>
</
telerik:PivotGridAggregateField
>
</
Fields
>
<
TotalsSettings
RowGrandTotalsPosition
=
"Last"
ColumnGrandTotalsPosition
=
"None"
/>
<
ConfigurationPanelSettings
EnableOlapTreeViewLoadOnDemand
=
"True"
></
ConfigurationPanelSettings
>
</
telerik:RadPivotGrid
>
<
asp:SqlDataSource
ID
=
"sqlCMStoG2TimesheetValidation"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:SOREOConnection %>" SelectCommand="reconciliation.cspCMStoG2TimesheetValidation" SelectCommandType="StoredProcedure" CancelSelectOnNullParameter="false">
<
SelectParameters
>
<
asp:Parameter
Name
=
"BeginDate"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"EndDate"
Type
=
"DateTime"
/>
<
asp:ControlParameter
ControlID
=
"ctlEmployeePicker"
PropertyName
=
"SelectedEmployeeID"
Name
=
"EmployeeID"
/>
<
asp:ControlParameter
ControlID
=
"ctlCustomerPicker"
PropertyName
=
"SelectedCustomerID"
Name
=
"CustomerID"
/>
<
asp:ControlParameter
ControlID
=
"ctlFundingOrganization"
PropertyName
=
"SelectedFundingOrganizationName"
Name
=
"FundingAgency"
/>
<
asp:Parameter
Name
=
"TimesheetID"
Type
=
"Int32"
/>
<
asp:ControlParameter
ControlID
=
"chkIncludeLastImport"
PropertyName
=
"Checked"
Name
=
"IncludeLastImport"
/>
<
asp:ControlParameter
ControlID
=
"chkErrorsOnly"
PropertyName
=
"Checked"
Name
=
"ErrorsOnly"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
td
>
</
tr
>
</
table
>
</
div
>
<
telerik:RadToolTipManager
Width
=
"250px"
Height
=
"300px"
RelativeTo
=
"Element"
ID
=
"RadToolTipManager2"
runat
=
"server"
OffsetX
=
"15"
Position
=
"MiddleRight"
Skin
=
"Telerik"
>
</
telerik:RadToolTipManager
>
</
asp:Content
>
Imports Telerik.Web.UI.PivotGrid.Core.Aggregates
Imports System.Drawing
Imports System.IO
Imports LumenWorks.Framework.IO.Csv
Public Class ReconcileTime
Inherits System.Web.UI.Page
#Region "GLOBAL OBJECTS"
'Constants...
Private Const pc_strRelevantBackgroundCellColor As String = "#CCFFCC"
#End Region
#Region "PAGE EVENT OVERRIDES"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Perform initial page processing.
If Not Page.IsPostBack Then
'Preset the date pickers.
'ctlBillingPeriodPicker.RootDate
'datFrom.SelectedDate = BillingPeriodHelper.ComputeStartDate(BillingFrequencyEnum.Weekly)
'datTo.SelectedDate = BillingPeriodHelper.ComputeEndDate(BillingFrequencyEnum.Weekly)
ctlBillingPeriodPicker.StartDate = #1/1/2015#
ctlBillingPeriodPicker.EndDate = #1/31/2015#
'Set the focused date for the calendars.
datCMSReport.FocusedDate = Now.Date.AddMonths(-2)
datLatestBillingFileImport.FocusedDate = Now.Date.AddMonths(-2)
datG2Timesheet.FocusedDate = Now.Date.AddMonths(-2)
End If
'Toggle item visibility based on preferences.
rowLastImport.Visible= chkIncludeLastImport.Checked
End Sub
#End Region
#Region "MISCELLANEOUS EVENT HANDLERS"
Protected Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
''Collapse the pivot grid content.
'pvtCMStoG2.CollapseAllRowGroups()
'pvtCMStoG2.CollapseAllColumnGroups()
'Bind the pivot grid.
pvtCMStoG2.DataBind()
End Sub
Protected Sub btnGetStatistics_Click(sender As Object, e As EventArgs) Handles btnGetStatistics.Click
'Calculate the date boundaries.
Call RetrieveStatistics()
End Sub
Protected Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
'datFrom.SelectedDate=
'datTo.SelectedDate =
'Reset the people pickers.
ctlCustomerPicker.ResetPicker()
ctlEmployeePicker.ResetPicker()
'Reset other controls.
ctlFundingOrganization.ResetPicker()
End Sub
Protected Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
Try
'Get the name of the file that was just uploaded.
Dim m_strUploadedFileName As String = uplTimesheetDetailReportFile.UploadedFiles(0).FileName
'Process the CSV file
Call ProcessCSVUsingCSVReader(Server.MapPath("~/App_Data/Temp/" & m_strUploadedFileName))
'Compute the earliest and latest dates in the file.
Using dbContext As New EntitiesModel()
'Get the first imported record.
Dim FirstResult = (From item In dbContext.DetailedTimesheetReports
Order By item.ServiceStarted Ascending).First
'Get the last record.
Dim LastResult = (From item In dbContext.DetailedTimesheetReports
Order By item.ServiceStarted Ascending).Last
'Set the status
lblStatus.Text = String.Format("<
span
style
=
'font-weight:bold;'
>Successfully imported the csv file.</
span
><
br
>The import contains records from {0:d} (Timesheet ID {1}) to {2:d} (Timesheet ID {3}).", FirstResult.ServiceStarted, FirstResult.TimesheetID, LastResult.ServiceStarted, LastResult.TimesheetID)
lblStatus.ForeColor = Color.Green
End Using
Catch ex As Exception
'Set the status
lblStatus.Text = "Error importing the csv file."
lblStatus.ToolTip = ex.Message
lblStatus.Font.Bold = True
lblStatus.ForeColor = Color.Red
End Try
End Sub
Protected Sub btnExportToExcel_Click(sender As Object, e As EventArgs) Handles btnExportToExcel.Click
'Export the file.
pvtCMStoG2.ExportToExcel()
End Sub
Protected Sub btnExpandCollapseGroups_Click(sender As Object, e As EventArgs) Handles btnExpandCollapseGroups.Click
'Toggle groups.
pvtCMStoG2.ExpandAllRowGroups()
End Sub
#End Region
#Region "PIVOT GRID EVENT HANDLERS"
Private Sub pvtCMStoG2_CellDataBound(sender As Object, e As PivotGridCellDataBoundEventArgs) Handles pvtCMStoG2.CellDataBound
'Process the cell formats as needed.
If TypeOf (e.Cell) Is PivotGridDataCell Then
'Get a reference to the cell.
Dim cell As PivotGridDataCell = TryCast(e.Cell, PivotGridDataCell)
If cell.CellType = PivotGridDataCellType.DataCell Then
'Check for valid format before proceeding.
If String.IsNullOrEmpty(cell.DataItem) = False Then
Select Case cell.ParentColumnIndexes(0).ToString
Case "Difference"
'Get the current value.
Dim quantity As Double = Convert.ToDouble(cell.DataItem)
'Conditionally set the format.
If quantity > 0 Then
cell.BackColor = Color.LightGreen
cell.ForeColor = Color.Green
ElseIf quantity <
0
Then
cell.BackColor
=
ColorTranslator
.FromHtml("#FF7373")
cell.ForeColor
= Color.White
End If
Case "Last Billing File"
cell.BackColor
= Color.LightYellow
End Select
End If
ElseIf
cell.CellType
=
PivotGridDataCellType
.RowTotalDataCell OrElse
cell.CellType
=
PivotGridDataCellType
.ColumnTotalDataCell Then
'Check for valid format before proceeding.
If String.IsNullOrEmpty(cell.DataItem) = False Then
Select Case cell.ParentColumnIndexes(0).ToString
Case "Difference"
If cell.DataItem.ToString().Length > 0 Then
'Get the current value.
Dim quantity As Double = Convert.ToDouble(cell.DataItem)
'Conditionally set the format.
If quantity > 0 Then
cell.BackColor = Color.LightGreen
cell.ForeColor = Color.Green
cell.Font.Bold = True
ElseIf quantity <
0
Then
cell.BackColor
=
ColorTranslator
.FromHtml("#FF7373")
cell.ForeColor
= Color.White
cell.Font.Bold
=
True
End If
End If
Exit Select
End Select
End If
ElseIf
cell.CellType
=
PivotGridDataCellType
.RowGrandTotalDataCell OrElse
cell.CellType
=
PivotGridDataCellType
.ColumnGrandTotalDataCell Then
'Check for valid format before proceeding.
If cell.ParentColumnIndexes(0) IsNot Nothing AndAlso String.IsNullOrEmpty(cell.ParentColumnIndexes(0).ToString) = False Then
Select Case cell.ParentColumnIndexes(0).ToString
Case "Difference"
'Get the current value.
Dim quantity As
Double
=
Convert
.ToDouble(cell.DataItem)
'Conditionally set the format.
If quantity > 0 Then
cell.BackColor = Color.Green
cell.ForeColor = Color.Black
cell.Font.Bold = True
ElseIf quantity <
0
Then
cell.BackColor
= Color.Red
cell.ForeColor
= Color.White
cell.Font.Bold
=
True
End If
Exit Select
End Select
End If
End If
ElseIf TypeOf (e.Cell) Is PivotGridRowHeaderCell Then
'Get a reference to the cell.
Dim cell As
PivotGridRowHeaderCell
=
TryCast
(e.Cell, PivotGridRowHeaderCell)
Select Case cell.Text
Case "columnname"
cell.Font.Bold
=
True
End Select
ElseIf TypeOf (e.Cell) Is PivotGridColumnHeaderCell Then
'Get a reference to the cell.
Dim cell As
PivotGridColumnHeaderCell
=
TryCast
(e.Cell, PivotGridColumnHeaderCell)
Select Case cell.Text
Case "Difference"
cell.Font.Bold
=
True
cell.Font.Italic
=
True
End Select
'Set the alignment of the cell
cell.HorizontalAlign
= HorizontalAlign.Center
End If
End Sub
Private Sub pvtCMStoG2_ItemNeedCalculation(sender As Object, e As PivotGridCalculationEventArgs) Handles pvtCMStoG2.ItemNeedCalculation
'Calculate the difference between G2 and CMS hours.
If e.GroupName.ToString() = "Difference" Then
'Declare local variables.
Dim m_dblCMSValue, m_dblG2Value As Double
'Get the current CMS value.
If e.GetAggregateSummaryValue("CMS") IsNot Nothing AndAlso String.IsNullOrEmpty(e.GetAggregateSummaryValue("CMS").GetValue().ToString()) = False Then
m_dblCMSValue
=
Double
.Parse(e.GetAggregateSummaryValue("CMS").GetValue().ToString())
Else
m_dblCMSValue
=
0D
End If
'Get the current G2 value.
If e.GetAggregateSummaryValue("G2") IsNot Nothing AndAlso String.IsNullOrEmpty(e.GetAggregateSummaryValue("G2").GetValue().ToString()) = False Then
m_dblG2Value
=
Double
.Parse(e.GetAggregateSummaryValue("G2").GetValue().ToString())
Else
m_dblG2Value
=
0D
End If
'Calculate the final difference value.
e.CalculatedValue
=
New
DoubleAggregateValue(m_dblG2Value - m_dblCMSValue)
End If
End Sub
#End Region
#Region "MISCELLANEOUS SUPPORT ROUTINES"
'Private Function CleanNumber(InputString As String) As Integer
' 'Declare local variables.
' Dim m_intReturnValue As Integer
' If String.IsNullOrEmpty(InputString) = False Then
' 'Clean out everything but the numbers
'
m_intReturnValue
=
Convert
.ToInt32(Regex.Replace(InputString, "[^\d.]", "", RegexOptions.IgnoreCase Or RegexOptions.Multiline))
' End If
' 'Return the value.
' Return m_intReturnValue
'End Function
#End Region
#Region "DATASOURCE EVENT HANDLERS"
'''////////////////////////////////////////////////////////////////////////////////////////////////////
''' <summary>
''' Event handler. Called by ASP.NET SQL Server Datasource Line Item Data Inspection
''' Selecting control (sdsLineItemDataInspection class) for selecting events.
''' </
summary
>
''' <
remarks
>
''' Commented by Mike Danielski.
''' </
remarks
>
''' <
param
name
=
"sender"
>
''' Source of the event.
''' </
param
>
''' <
param
name
=
"e"
>
''' SQL data source selecting event information.
''' </
param
>
'''////////////////////////////////////////////////////////////////////////////////////////////////////
Private Sub sdsLineItemDataInspection_Selecting(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles sqlCMStoG2TimesheetValidation.Selecting
'Cancel the intiial page load select.
If Page.IsPostBack = False Then
e.Cancel = True
End If
'Set the command timeout value to wait indefinitely.
e.Command.CommandTimeout = 0
'Address the timesheet ID.
If chkSingleTimesheetID.Checked = True Then
e.Command.Parameters("@TimesheetID").Value = radTimesheetID.Value
Else
e.Command.Parameters("@TimesheetID").Value = System.DBNull.Value
End If
'Set the date-based parameters.
e.Command.Parameters("@BeginDate").Value = ctlBillingPeriodPicker.StartDate
e.Command.Parameters("@EndDate").Value = ctlBillingPeriodPicker.EndDate
End Sub
#End Region
#Region "FILE UPLOAD ROUTINES"
'''////////////////////////////////////////////////////////////////////////////////////////////////////
''' <
summary
>
''' Upl timesheet detail report file uploaded method.
''' </
summary
>
''' <
remarks
>
''' Commented by Mike Danielski.
''' </
remarks
>
''' <
param
name
=
"sender"
>
''' Source of the event.
''' </
param
>
''' <
param
name
=
"e"
>
''' File uploaded event information.
''' </
param
>
'''////////////////////////////////////////////////////////////////////////////////////////////////////
Private Sub uplTimesheetDetailReportFile_FileUploaded(sender As Object, e As FileUploadedEventArgs) Handles uplTimesheetDetailReportFile.FileUploaded
'Get the full filename.
Dim m_strFullFileName As String
m_strFullFileName = Server.MapPath(uplTimesheetDetailReportFile.TargetFolder & "\" & e.File.FileName)
'Save the file to the proper location.
e.File.SaveAs(m_strFullFileName)
'Remove the first line and resave the file.
Call RemoveFileHeaderAndFooter(m_strFullFileName)
End Sub
'''////////////////////////////////////////////////////////////////////////////////////////////////////
''' <
summary
>
''' Remove standard header method.
''' </
summary
>
''' <
remarks
>
''' Commented by Mike Danielski.
''' </
remarks
>
''' <
param
name
=
"filePath"
>
''' Full pathname of the file.
''' </
param
>
'''////////////////////////////////////////////////////////////////////////////////////////////////////
Public Sub RemoveFileHeaderAndFooter(ByVal filePath As String)
'Make sure we have a file.
If (String.IsNullOrEmpty(filePath)) Then
Return
End If
'Get the lines from the file.
Dim lines As New List(Of String)(File.ReadAllLines(filePath))
'Check to see if the line can be removed.
If lines.Count > 2 AndAlso lines(0).ToString.StartsWith("Detail Timesheet Report") Then
'Remove the first line only
lines.RemoveAt(0)
End If
'Remove the last two lines - the footer.
lines.RemoveRange(lines.Count - 2, 2)
'Write the modified file back to disk.
File.WriteAllLines(filePath, lines.ToArray())
End Sub
'''////////////////////////////////////////////////////////////////////////////////////////////////////
''' <
summary
>
''' Process CSV using CSV reader method.
''' </
summary
>
''' <
remarks
>
''' Commented by Mike Danielski.
''' </
remarks
>
''' <
param
name
=
"FileName"
>
''' Filename of the file.
''' </
param
>
'''////////////////////////////////////////////////////////////////////////////////////////////////////
Private Sub ProcessCSVUsingCSVReader(FileName As String)
'Open the file
Using csv As New CsvReader(New StreamReader(FileName), True)
'Call the method to generate the account numbers.
Using dbContext As New EntitiesModel()
'Purge the destination table.
dbContext.ExecuteNonQuery("TRUNCATE TABLE reconciliation.tblDetailedTimesheetReport")
'Save Changes
dbContext.SaveChanges()
'Process the individual fields.
While csv.ReadNextRecord()
'Create a new record
Dim m_objNewTimesheetRecord As New reconciliation.DetailedTimesheetReport
'Source column variables to hold CSV content.
Dim m_strDate As String = csv("Date")
Dim m_strStart As String = csv("Start")
Dim m_strEnd As String = csv("End")
Dim m_strServiceCode As String = csv("SvcCode").ToUpper
Dim m_strTimeEntryID As String = csv("Time Entry Id")
Dim m_strClientNumber As String = csv("Client#")
Dim m_strDCWPIN As String = csv("DCW PIN")
Dim m_strAuthorizationID As String = csv("AuthID")
Dim m_strHours As String = csv("Hours")
Dim m_strApproved As String = csv("Approved")
Dim m_strMCO As String = csv("MCO")
Dim m_strAuthorizationName As String = csv("AuthName")
Dim m_strAuthorizationNumber As String = csv("AuthNumber")
Dim m_strDCW As String = csv("DCW")
Dim m_strSC As String = csv("SC")
Dim m_strModifiers As String = csv("Modifiers")
Dim m_strStatus As String = csv("Status")
Dim m_strRegion As String = csv("Region")
'Declare strongly typed destination variables to hold final values.
Dim m_intTimesheetID As Integer
Dim m_intClientID As Integer
Dim m_intPIN As Integer
Dim m_intAuthorizationID As Integer
Dim m_decHours As Decimal
Dim m_datServiceStarted As Date
Dim m_datServiceEnded As Date
Dim m_datApprovedDate As Date
Dim m_strDCWFirstName As String = String.Empty
Dim m_strDCWLastName As String = String.Empty
'Assign TimesheetID
If Integer.TryParse(m_strTimeEntryID, m_intTimesheetID) = False Then
Throw New Exception("A 'Time Entry Id' value in the uploaded file is not valid.")
End If
'ClientID
If Integer.TryParse(m_strClientNumber, m_intClientID) = False Then
Throw New Exception("A 'Client#' value in the uploaded file is not valid.")
End If
'PIN
If Integer.TryParse(m_strDCWPIN, m_intPIN) = False Then
Throw New Exception("A 'DCW PIN' value in the uploaded file is not valid.")
End If
'Authorization ID.
If Integer.TryParse(m_strAuthorizationID, m_intAuthorizationID) = False Then
Throw New Exception("The Authorization ID value in the uploaded file is not valid.")
End If
'Hours.
If Decimal.TryParse(m_strHours, m_decHours) = False Then
Throw New Exception("The Hours value in the uploaded file is not valid.")
End If
'Calculate start date.
If String.IsNullOrEmpty(m_strDate) = False AndAlso String.IsNullOrEmpty(m_strStart) = False Then
If Date.TryParse(m_strDate & " " & m_strStart, m_datServiceStarted) = False Then
'm_datServiceStarted = Convert.ToDateTime(m_strDate & " " & m_strStart)
Throw New Exception("The service start date and time value in the uploaded file is not valid.")
End If
End If
'Calculate end date
If String.IsNullOrEmpty(m_strDate) = False AndAlso String.IsNullOrEmpty(m_strEnd) = False Then
If Date.TryParse(m_strDate & " " & m_strEnd, m_datServiceEnded) = False Then
'm_datServiceEnded = Convert.ToDateTime(m_strDate & " " & m_strEnd)
Throw New Exception("The service end date and time value in the uploaded file is not valid.")
End If
End If
'Approval date
If Date.TryParse(m_strApproved, m_datApprovedDate) = False Then
Throw New Exception("The approved date value in the uploaded file is not valid.")
End If
'Clean the service code.
Select Case m_strServiceCode
Case String.Empty
m_strServiceCode = String.Empty
Case "PENDING"
m_strServiceCode = m_strServiceCode
Case "COMP"
m_strServiceCode = m_strServiceCode
Case Else
m_strServiceCode = Left(m_strServiceCode, 3)
End Select
'Parse the name
If String.IsNullOrEmpty(m_strDCW) = False Then
m_strDCWFirstName = StrConv(m_strDCW.ToString.Split(" ")(0), vbProperCase)
m_strDCWLastName = StrConv(m_strDCW.ToString.Split(" ")(1), vbProperCase)
End If
'Set the properties.
With m_objNewTimesheetRecord
'Integer fields.
.TimesheetID = m_intTimesheetID
.ClientID = m_intClientID
.PIN = m_intPIN
.AuthorizationID = m_intAuthorizationID
'Decimal fields.
.Hours = m_decHours
'Date fields
.ServiceStarted = m_datServiceStarted
.ServiceEnded = m_datServiceEnded
.ApprovedDate = m_datApprovedDate
'String fields.
.Agency = IIf(String.IsNullOrEmpty(m_strMCO), String.Empty, m_strMCO)
.AuthorizationName = StrConv(m_strAuthorizationName, vbProperCase)
.AuthorizationNumber = IIf(String.IsNullOrEmpty(m_strAuthorizationNumber), String.Empty, m_strAuthorizationNumber)
.ServiceCode = m_strServiceCode
.DCWFirstName = m_strDCWFirstName
.DCWLastName = m_strDCWLastName
.ServiceCoordinator = m_strSC
.Modifiers = m_strModifiers
.Status = m_strStatus
.Region = m_strRegion
End With
'Add the new record.
dbContext.Add(m_objNewTimesheetRecord)
End While
'Save Changes
dbContext.SaveChanges()
End Using
End Using
End Sub
Private Sub RetrieveStatistics()
'Compute the earliest and latest dates in the file.
Using dbContext As New EntitiesModel()
'--------- CMS REPORT Data --------------------------------------------------------------------------------------------------
'Get the first billing file record.
Dim CMSReportResults = (From item In dbContext.DetailedTimesheetReports
Order By item.ServiceStarted Ascending)
'Get the first imported record.
Dim CMSReportFirstResult = (From item In dbContext.DetailedTimesheetReports
Order By item.ServiceStarted Ascending).FirstOrDefault
'Get the last record.
Dim CMSReportLastResult = (From item In dbContext.DetailedTimesheetReports
Order By item.ServiceStarted Ascending).LastOrDefault
'Declare local variables.
Dim m_intCMSReportRecordCount As Integer = CMSReportResults.Count
'Assign content to labels.
lblCMSReportRecordCount.Text = m_intCMSReportRecordCount.ToString("N0")
If CMSReportFirstResult IsNot Nothing AndAlso CMSReportLastResult IsNot Nothing Then
lblCMSReportStartDate.Text = CMSReportFirstResult.ServiceStarted
lblCMSReportEndDate.Text = CMSReportLastResult.ServiceEnded
lblCMSReportFirstTimesheetID.Text = CMSReportFirstResult.TimesheetID
lblCMSReportLastTimesheetID.Text = CMSReportLastResult.TimesheetID
'Set the values into session.
Session("BillingFileStartDate") = CMSReportFirstResult.ServiceStarted
Session("BillingFileEndDate") = CMSReportLastResult.ServiceEnded
Else
lblCMSReportStartDate.Text = "?"
lblCMSReportEndDate.Text = "?"
lblCMSReportFirstTimesheetID.Text = "?"
lblCMSReportLastTimesheetID.Text = "?"
End If
'--------- BILLING FILE Data --------------------------------------------------------------------------------------------------
'Get the first Billing File record.
Dim LatestBillingFileImportResults = (From item In dbContext.Timesheets
Order By item.StartDate Ascending)
'Get the first Billing File record.
Dim LatestBillingFileImportFirstResult = (From item In dbContext.Timesheets
Order By item.StartDate Ascending).FirstOrDefault
'Get the last Billing File record.
Dim LatestBillingFileImportLastResult = (From item In dbContext.Timesheets
Order By item.StartDate Ascending).LastOrDefault
'Declare local variables.
Dim m_intLatestBillingFileImportRecordCount As Integer = LatestBillingFileImportResults.Count
'Assign content to labels.
lblLatestBillingFileImportRecordCount.Text = m_intLatestBillingFileImportRecordCount.ToString("N0")
'Process the results.
If LatestBillingFileImportFirstResult IsNot Nothing AndAlso LatestBillingFileImportLastResult IsNot Nothing Then
lblLatestBillingFileImportStartDate.Text = LatestBillingFileImportFirstResult.StartDate
lblLatestBillingFileImportEndDate.Text = LatestBillingFileImportLastResult.EndDate
lblLatestBillingFileImportFirstTimesheetID.Text = LatestBillingFileImportFirstResult.TimeSheetId
lblLatestBillingFileImportLastTimesheetID.Text = LatestBillingFileImportLastResult.TimeSheetId
'Store the date ranges in the session.
Session("BillingFileStartDate") = LatestBillingFileImportFirstResult.StartDate
Session("BillingFileEndDate") = LatestBillingFileImportLastResult.EndDate
Else
lblLatestBillingFileImportStartDate.Text = "?"
lblLatestBillingFileImportEndDate.Text = "?"
lblLatestBillingFileImportFirstTimesheetID.Text = "?"
lblLatestBillingFileImportLastTimesheetID.Text = "?"
End If
'--------- G2 Data --------------------------------------------------------------------------------------------------
'Calculate the proper range of dates that should be pulled from G2, based on smallest overlapping window of imported data.
Dim m_datG2BeginDate As Date
Dim m_datG2EndDate As Date
'Perform different analysis depending on whether last import was to be included.
If chkIncludeLastImport.Checked Then
If LatestBillingFileImportFirstResult IsNot Nothing AndAlso CMSReportFirstResult IsNot Nothing Then
'Calculate the start of the period.
If LatestBillingFileImportFirstResult.StartDate > CMSReportFirstResult.ServiceStarted Then
m_datG2BeginDate = CMSReportFirstResult.ServiceStarted
Else
m_datG2BeginDate = LatestBillingFileImportFirstResult.StartDate
End If
'Calculate the end of the period.
If LatestBillingFileImportLastResult.EndDate > CMSReportLastResult.ServiceEnded Then
m_datG2EndDate = CMSReportLastResult.ServiceEnded
Else
m_datG2EndDate = LatestBillingFileImportLastResult.EndDate
End If
Else
'Get the values from the period picker.
m_datG2BeginDate = ctlBillingPeriodPicker.StartDate
m_datG2EndDate = ctlBillingPeriodPicker.EndDate
End If
Else
'Copy dates from CMS data since there is nothing else to compare to.
m_datG2BeginDate = LatestBillingFileImportFirstResult.StartDate
m_datG2EndDate = LatestBillingFileImportLastResult.StartDate
End If
If m_datG2BeginDate <> #12:00:00 AM# AndAlso m_datG2EndDate <> #12:00:00 AM# Then
'Get the first G2 record.
Dim G2Results = (From item In dbContext.LineItems
Where item.ServiceStarted >= m_datG2BeginDate And item.ServiceEnded <= m_datG2EndDate
Order By item.ServiceStarted Ascending)
'Get the first imported record.
Dim FirstG2Result = (From item In dbContext.LineItems
Where item.ServiceStarted >= m_datG2BeginDate And item.ServiceEnded <= m_datG2EndDate
Order By item.ServiceStarted Ascending).FirstOrDefault
'Get the last record.
Dim LastG2Result = (From item In dbContext.LineItems
Where item.ServiceStarted >= m_datG2BeginDate And item.ServiceEnded <= m_datG2EndDate
Order By item.ServiceStarted Ascending).LastOrDefault
'Declare local variables.
Dim m_intG2RecordCount As Integer = G2Results.Count
'Assign content to labels.
lblG2RecordCount.Text = m_intG2RecordCount.ToString("N0")
'Set the date ranges
lblG2StartDate.Text = m_datG2BeginDate
lblG2EndDate.Text = m_datG2EndDate
'Process the final results.
If FirstG2Result IsNot Nothing AndAlso LastG2Result IsNot Nothing Then
lblFirstG2TimesheetID.Text = FirstG2Result.SourceKey
lblLastG2TimesheetID.Text = LastG2Result.SourceKey
'Set the values into session.
Session("EarliestG2Date") = m_datG2BeginDate
Session("LatestG2Date") = m_datG2EndDate
Else
lblFirstG2TimesheetID.Text = "?"
lblLastG2TimesheetID.Text = "?"
End If
Else
lblG2StartDate.Text = "?"
lblG2EndDate.Text = "?"
lblG2RecordCount.Text = "0"
lblFirstG2TimesheetID.Text = "?"
lblLastG2TimesheetID.Text = "?"
End If
''DEBUG DATA.
'Session("BillingFileStartDate") = #2/20/2015#
'Session("BillingFileEndDate") = #2/28/2015#
'Session("EarliestBillingFileDate") = #2/1/2015#
'Session("LatestBillingFileDate") = #2/7/2015#
'Session("EarliestG2Date") = #2/27/2015#
'Session("LatestG2Date") = #3/5/2015#
End Using
End Sub
#End Region
#Region "CALENDAR EVENTS"
Private Sub datCMSReport_DayRender(sender As Object, e As Telerik.Web.UI.Calendar.DayRenderEventArgs) Handles datCMSReport.DayRender
''Prepare the cell for "tooltipifying".
'e.Cell.Attributes.Add("ID", e.Day.[Date].ToString())
'RadToolTipManager1.TargetControls.Add(e.Cell.Attributes("ID"), True)
'Only perform this process if there are values to work with.
If Session("BillingFileStartDate") IsNot Nothing AndAlso Session("BillingFileEndDate") IsNot Nothing Then
'For Each row As Data.DataRow In dt.Rows
Dim IsInMonth As Boolean = e.Day.Date.Month = e.View.MonthStartDate.Month
'Check if the current date format should be changed
If (e.Day.Date >= Convert.ToDateTime(Session("BillingFileStartDate")) And e.Day.Date <= Convert.ToDateTime(Session("BillingFileEndDate"))) And IsInMonth Then
e.Cell.Style("background-color") = pc_strRelevantBackgroundCellColor
'Get a reference to the cell itself.
Dim cell As TableCell = e.Cell
'Set the properties
cell.CssClass = "Appointment"
cell.Attributes.Add("id", "datG2Timesheet_" + ID.ToString())
'Add the control to the collection
RadToolTipManager2.TargetControls.Add(e.Cell.Attributes("id"), ID.ToString(), True)
End If
End If
End Sub
Private Sub datLatestBillingFileImport_DayRender(sender As Object, e As Telerik.Web.UI.Calendar.DayRenderEventArgs) Handles datLatestBillingFileImport.DayRender
''Prepare the cell for "tooltipifying".
'e.Cell.Attributes.Add("ID", e.Day.[Date].ToString())
'RadToolTipManager1.TargetControls.Add(e.Cell.Attributes("ID"), True)
'Only perform this process if there are values to work with.
If Session("BillingFileStartDate") IsNot Nothing AndAlso Session("BillingFileEndDate") IsNot Nothing Then
'For Each row As Data.DataRow In dt.Rows
Dim IsInMonth As Boolean = e.Day.Date.Month = e.View.MonthStartDate.Month
'Check if the current date format should be changed
If (e.Day.Date >= Convert.ToDateTime(Session("BillingFileStartDate")) And e.Day.Date <= Convert.ToDateTime(Session("BillingFileEndDate"))) And IsInMonth Then
e.Cell.Style("background-color") = pc_strRelevantBackgroundCellColor
'Get a reference to the cell itself.
Dim cell As TableCell = e.Cell
'Set the properties
cell.CssClass = "Appointment"
cell.Attributes.Add("id", "datG2Timesheet_" + ID.ToString())
'Add the control to the collection
RadToolTipManager2.TargetControls.Add(e.Cell.Attributes("id"), ID.ToString(), True)
End If
End If
End Sub
Private Sub datG2Timesheet_DayRender(sender As Object, e As Telerik.Web.UI.Calendar.DayRenderEventArgs) Handles datG2Timesheet.DayRender
''Prepare the cell for "tooltipifying".
'e.Cell.Attributes.Add("ID", e.Day.[Date].ToString())
'RadToolTipManager1.TargetControls.Add(e.Cell.Attributes("ID"), True)
'Only perform this process if there are values to work with.
If Session("EarliestG2Date") IsNot Nothing AndAlso Session("LatestG2Date") IsNot Nothing Then
'For Each row As Data.DataRow In dt.Rows
Dim IsInMonth As Boolean = e.Day.Date.Month = e.View.MonthStartDate.Month
'Check if the current date format should be changed
If (e.Day.Date >= Convert.ToDateTime(Session("EarliestG2Date")) And e.Day.Date <= Convert.ToDateTime(Session("LatestG2Date"))) And IsInMonth Then
e.Cell.Style("background-color") = pc_strRelevantBackgroundCellColor
'Get a reference to the cell itself.
Dim cell As TableCell = e.Cell
'Set the properties
cell.CssClass = "Appointment"
cell.Attributes.Add("id", "datG2Timesheet_" + ID.ToString())
'Add the control to the collection
RadToolTipManager2.TargetControls.Add(e.Cell.Attributes("id"), ID.ToString(), True)
End If
End If
End Sub
Private Sub RadToolTipManager2_AjaxUpdate(sender As Object, e As ToolTipUpdateEventArgs) Handles RadToolTipManager2.AjaxUpdate
'Create a reference to the child control that will be oaded dynamically.
Dim ctlTimeForTheDay As TimeForDay = DirectCast(Me.LoadControl("TimeForDay.ascx"), TimeForDay)
'Set the control properties.
ctlTimeForTheDay.ID = "ctlTimeForDay"
ctlTimeForTheDay.TargetDate = DateTime.Parse(e.Value)
'Add the control to the collection.
e.UpdatePanel.ContentTemplateContainer.Controls.Add(ctlTimeForTheDay)
End Sub
#End Region
End Class
<
tr
id
=
"TrMenuRights"
runat
=
"server"
>
<
td
width
=
"30%"
valign
=
"top"
><
asp:Label
ID
=
"LabelMenuRights"
runat
=
"server"
Text
=
"Menürechte"
/></
td
>
<
td
style
=
"border: 1px solid"
>
<
telerik:RadTreeView
ID
=
"RadTreeViewMenu"
runat
=
"server"
TriStateCheckBoxes
=
"true"
OnClientNodeChecked
=
"OnTreeNodeCheck"
Height
=
"200px"
Width
=
"100%"
/>
</
td
>
</
tr
>
protected
void
rgCompany_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
Label contactName = e.Item.FindControl(
"Label1"
)
as
Label;
MainContact mc =
CharityChallenge_DAO.GetMainContactForCompany((e.Item.DataItem
as
Company).CompanyIdentifier);
if
(mc !=
null
)
contactName.Text = mc.FirstName +
" "
+ mc.LastName;
}
}
protected
void
rgCompany_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
List<Company> companyList = CharityChallenge_DAO.GetCompanies();
rgCompany.DataSource = companyList ??
new
List<Company>();
}
<
telerik:RadGrid
ID
=
"rgCompany"
runat
=
"server"
AutoGenerateColumns
=
"False"
CellSpacing
=
"0"
GridLines
=
"None"
oninsertcommand
=
"rgCompany_InsertCommand"
onitemcommand
=
"rgCompany_ItemCommand"
onneeddatasource
=
"rgCompany_NeedDataSource"
onupdatecommand
=
"rgCompany_UpdateCommand"
EnableLinqExpressions
=
"False"
AllowFilteringByColumn
=
"True"
AllowSorting
=
"True"
Height
=
"700px"
onitemdatabound
=
"rgCompany_ItemDataBound"
>
<
ClientSettings
>
<
Selecting
CellSelectionMode
=
"None"
></
Selecting
>
<
scrolling
allowscroll
=
"True"
usestaticheaders
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"CompanyIdentifier"
CommandItemDisplay
=
"Top"
ShowHeadersWhenNoRecords
=
"true"
AllowFilteringByColumn
=
"True"
NoMasterRecordsText
=
"No Companies have been added"
InsertItemDisplay
=
"Bottom"
GridLines
=
"None"
>
<
NoRecordsTemplate
><
div
style
=
"text-align: center;"
><
span
style
=
"color: Red;"
>No Companies have been added</
span
></
div
></
NoRecordsTemplate
>
<
CommandItemSettings
AddNewRecordText
=
"Add a Company"
/>
<
CommandItemTemplate
>
<
span
class
=
"radGridTitleSpan"
>Companies</
span
>
<
div
style
=
"text-align: right;"
>
<
asp:LinkButton
ID
=
"btnInsert"
runat
=
"server"
CommandName
=
"InitInsert"
class
=
"button secondaryAction"
>Add New Company</
asp:LinkButton
>
</
div
>
</
CommandItemTemplate
>
<
CommandItemSettings
AddNewRecordText
=
"Add a Company"
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
FilterControlAltText
=
"Filter column column"
DataField
=
"CompanyIdentifier"
Visible
=
"False"
UniqueName
=
"CompanyIdentifier"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
FilterControlAltText
=
"Filter column1 column"
DataField
=
"CompanyName"
HeaderText
=
"Company Name"
FilterListOptions
=
"VaryByDataType"
UniqueName
=
"CompanyName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
FilterListOptions
=
"VaryByDataTypeAllowCustom"
HeaderText
=
"Company Contact"
UniqueName
=
"CompanyContact"
AllowFiltering
=
"True"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
FilterControlAltText
=
"Filter column3 column"
DataField
=
"LastUpdatedUserIdentifier"
HeaderText
=
"Last Updated User Id"
UniqueName
=
"LastUpdatedUserIdentifier"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
FilterControlAltText
=
"Filter column4 column"
DataField
=
"LastUpdatedTimestamp"
HeaderText
=
"Last Updated Time"
UniqueName
=
"LastUpdatedTimestamp"
>
</
telerik:GridBoundColumn
>
<
telerik:GridEditCommandColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
>
</
telerik:GridEditCommandColumn
>
</
Columns
>
<
EditFormSettings
EditFormType
=
"WebUserControl"
UserControlName
=
"CompanyWebCntrl.ascx"
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
>
<
WebServiceSettings
>
<
ODataSettings
InitialContainerName
=
""
></
ODataSettings
>
</
WebServiceSettings
>
</
FilterMenu
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
>
<
WebServiceSettings
>
<
ODataSettings
InitialContainerName
=
""
></
ODataSettings
>
</
WebServiceSettings
>
</
HeaderContextMenu
>
</
telerik:RadGrid>