public static DateTime LastDayOfWeek(DateTime date) { int weekStartOffset = 0; if (OrganizationServiceProxy.OrganizationSettings != null) { weekStartOffset = OrganizationServiceProxy.OrganizationSettings.WeekStartDayCode.Value.Value; } DateTime endOfWeek = new DateTime(date.GetTime()); int dayOfWeek = endOfWeek.GetDay(); dayOfWeek = dayOfWeek - weekStartOffset; if (dayOfWeek < 0) { dayOfWeek = 7 + dayOfWeek; } endOfWeek = DateTimeEx.DateAdd(DateInterval.Days, (int)(6 - dayOfWeek), endOfWeek); endOfWeek.SetHours(23); endOfWeek.SetMinutes(59); endOfWeek.SetSeconds(59); endOfWeek.SetMilliseconds(999); return(endOfWeek); }
public static DateTime FirstDayOfWeek(DateTime date) { int weekStartOffset = 0; if (OrganizationServiceProxy.OrganizationSettings != null) { weekStartOffset = OrganizationServiceProxy.OrganizationSettings.WeekStartDayCode.Value.Value; } DateTime startOfWeek = new DateTime(date.GetTime()); int dayOfWeek = startOfWeek.GetDay(); dayOfWeek = dayOfWeek - weekStartOffset; if (dayOfWeek < 0) { dayOfWeek = 7 + dayOfWeek; } if (dayOfWeek > 0) { startOfWeek = DateTimeEx.DateAdd(DateInterval.Days, (int)(dayOfWeek * -1), startOfWeek); } startOfWeek.SetHours(0); startOfWeek.SetMinutes(0); startOfWeek.SetSeconds(0); startOfWeek.SetMilliseconds(0); return(startOfWeek); }
public static DateTime DateAdd(DateInterval interval, int value, DateTime date) { int ms = date.GetTime(); DateTime result; switch (interval) { case DateInterval.Milliseconds: result = new DateTime(ms + value); break; case DateInterval.Seconds: result = new DateTime(ms + (value * 1000)); break; case DateInterval.Minutes: result = new DateTime(ms + (value * 1000 * 60)); break; case DateInterval.Hours: result = new DateTime(ms + (value * 1000 * 60 * 60)); break; case DateInterval.Days: result = new DateTime(ms + (value * 1000 * 60 * 60 * 24)); break; default: result = date; break; } return(result); }
public static DateTime FirstDayOfMonth(DateTime date, int Month) { DateTime startOfMonth = new DateTime(date.GetTime()); startOfMonth.SetMonth(Month - 1); startOfMonth.SetDate(1); startOfMonth.SetHours(0); startOfMonth.SetMinutes(0); startOfMonth.SetSeconds(0); startOfMonth.SetMilliseconds(0); return(startOfMonth); }
public static DateTime LastDayOfWeek(DateTime date) { DateTime endOfWeek = new DateTime(date.GetTime()); int dayOfWeek = endOfWeek.GetDay(); if (dayOfWeek > 0) { endOfWeek = DateTimeEx.DateAdd(DateInterval.Days, (int)(7 - dayOfWeek), endOfWeek); } endOfWeek.SetHours(23); endOfWeek.SetMinutes(59); endOfWeek.SetSeconds(59); endOfWeek.SetMilliseconds(999); return(endOfWeek); }
public static DateTime FirstDayOfWeek(DateTime date) { DateTime startOfWeek = new DateTime(date.GetTime()); int dayOfWeek = startOfWeek.GetDay(); if (dayOfWeek > 0) { startOfWeek = DateTimeEx.DateAdd(DateInterval.Days, (int)(dayOfWeek * -1), startOfWeek); } startOfWeek.SetHours(0); startOfWeek.SetMinutes(0); startOfWeek.SetSeconds(0); startOfWeek.SetMilliseconds(0); return(startOfWeek); }
public static DateTime AddTimeToDate(DateTime date, string time) { if (date == null) { date = DateTime.Now; } if (time != null) { DateTime dateWithTime = DateTime.Parse("01 Jan 2000 " + time.Replace(".", ":").Replace("-", ":").Replace(",", ":")); DateTime newDate = new DateTime(date.GetTime()); if (!Number.IsNaN((Number)((object)dateWithTime))) { newDate.SetHours(dateWithTime.GetHours()); newDate.SetMinutes(dateWithTime.GetMinutes()); newDate.SetSeconds(dateWithTime.GetSeconds()); newDate.SetMilliseconds(dateWithTime.GetMilliseconds()); return(newDate); } return(null); } return(date); }
public static object DeSerialise(XmlNode node, string overrideType) { // Check if the value is null bool isNil = (XmlHelper.GetAttributeValue(node, "i:nil") == "true"); object value = null; if (!isNil) { string typeName = overrideType; if (typeName == null) { typeName = _removeNsPrefix(XmlHelper.GetAttributeValue(node, "i:type")); } string stringValue = XmlHelper.GetNodeTextValue(node); switch (typeName) { case AttributeTypes.EntityReference: EntityReference entityReferenceValue = new EntityReference( new Guid(XmlHelper.SelectSingleNodeValue(node, "Id")), XmlHelper.SelectSingleNodeValue(node, "LogicalName"), XmlHelper.SelectSingleNodeValue(node, "Name")); value = entityReferenceValue; break; case AttributeTypes.AliasedValue: value = DeSerialise(XmlHelper.SelectSingleNode(node, "Value"), null); break; case AttributeTypes.Boolean_: value = (stringValue == "true"); break; case AttributeTypes.Decimal_: value = decimal.Parse(stringValue); break; case AttributeTypes.DateTime_: DateTime dateValue = DateTimeEx.Parse(stringValue); // We need it in the CRM Users timezone UserSettings settings = OrganizationServiceProxy.UserSettings; if (settings != null) { // Remove the local date formating so that it is in UTC irrespective of the local timezone dateValue.SetTime(dateValue.GetTime() + (dateValue.GetTimezoneOffset() * 60 * 1000)); DateTime localDateValue = DateTimeEx.UTCToLocalTimeFromSettings(dateValue, settings); value = localDateValue; } else { value = dateValue; } break; case "guid": value = new Guid(stringValue); break; case AttributeTypes.Int_: value = int.Parse(stringValue); break; case AttributeTypes.OptionSetValue: value = OptionSetValue.Parse(XmlHelper.SelectSingleNodeValue(node, "Value")); break; case AttributeTypes.Money: value = new Money(decimal.Parse(XmlHelper.SelectSingleNodeValue(node, "Value"))); break; default: value = stringValue; break; } } return(value); }