private void SwagItemsControl_Add(object sender, RoutedEventArgs e) { FrameworkElement fe = (FrameworkElement)e.OriginalSource; ICollection <SwagOption> col = (ICollection <SwagOption>)fe.DataContext; SwagOption opt = null; String tag = (fe.Tag ?? "").ToString(); switch (tag) { case "GROUP": opt = new SwagOptionGroup(); break; case "STRING": opt = new StringOption(); break; case "DATE": opt = new DateOption(); break; case "BOOL": opt = new BooleanOption(); break; } col.Add(opt); CollectionViewSource.GetDefaultView(col).Refresh(); }
public SearchRange(DateTime @from, DateTime to, int step = 1, DateOption dateOption = DateOption.Days, string dateFormat = null) : this() { var daysBetweenDates = (to - @from).Days; var yearsBetweenDates = to.Year - @from.Year; var monthsBetweenDates = yearsBetweenDates * 12 + (to.Month - @from.Month); var tempDateFormat = string.IsNullOrEmpty(dateFormat) ? "yyyy-MM-dd" : dateFormat; Preconditions.CheckSpecialPreconditions(step, dateOption, yearsBetweenDates, monthsBetweenDates, daysBetweenDates); switch (dateOption) { case DateOption.Days: AddDatesToItems(@from, daysBetweenDates, step, DateOption.Days, tempDateFormat); break; case DateOption.Months: AddDatesToItems(@from, monthsBetweenDates, step, DateOption.Months, tempDateFormat); break; case DateOption.Years: AddDatesToItems(@from, yearsBetweenDates, step, DateOption.Years, tempDateFormat); break; } }
/// <summary> /// Initializes a new instance of the Options class with the specified command /// line arguments. /// </summary> /// <param name="args">The arguments passed on the command line.</param> public Options(string[] args) { // Initialize the options _StartDateOption = new DateOption("s", "startdate"); _BuildOption = new StringOption("b", "build", "Fixed"); _PinOption = new StringOption("p", "pin", "0.0.0.0"); _RevisionOption = new StringOption("r", "revision", "Automatic"); _InputFile = new StringOption("i", "inputfile"); _OutputFile = new StringOption("o", "outputfile"); _Input = new StringOption("in", "input"); _VersionOption = new StringOption("v", "version"); // Create a new command line parser and add our options CmdLineParser parser = new CmdLineParser(); parser.AddOption(_StartDateOption); parser.AddOption(_BuildOption); parser.AddOption(_PinOption); parser.AddOption(_RevisionOption); parser.AddOption(_InputFile); parser.AddOption(_OutputFile); parser.AddOption(_VersionOption); // Try to parse our options try { parser.Parse(args); ValidatePinOption(); } catch (Exception) { throw; } }
public void SetDateOption(DateOption option) { switch (option) { case DateOption.Hoy: FromDate = ToDate = DateTime.Today; FindSales(); break; case DateOption.Ayer: FromDate = ToDate = DateTime.Today.AddDays(-1); FindSales(); break; case DateOption.Específico: if (ShowCustomDateRangeDialog()) { FindSales(); } //for some reason this works //dateOption = null; break; default: break; } }
public static void CheckSpecialPreconditions(int step, DateOption dateOption, int yearsBetweenDates, int monthsBetweenDates, int daysBetweenDates) { var tempStep = step; var dateTimePrecondition = 0; switch (dateOption) { case DateOption.Days: dateTimePrecondition = daysBetweenDates; break; case DateOption.Months: dateTimePrecondition = monthsBetweenDates; break; case DateOption.Years: dateTimePrecondition = yearsBetweenDates; break; } if (dateTimePrecondition < tempStep || dateTimePrecondition <= 0 || step < 1) { throw new Exceptions.SearchRange.DatesException(); } }
private void TextBlock_MouseUp_1(object sender, MouseButtonEventArgs e) { ReportsWindowViewModel wvm = (ReportsWindowViewModel)DataContext; //var adasd = dateOptionCbx.SelectedItem; DateOption newValue = (DateOption)(sender as TextBlock).DataContext; wvm.SetDateOption(newValue); }
public DateOptionWrapper(DateOption dateOption) { if (dateOption != null) { Date = dateOption.Date; ProposerNickname = dateOption.Proposer.Nickname; VoteCount = dateOption.CountVotes(); } else { System.Diagnostics.Debug.WriteLine("Error en DateOptionWrapper"); } }
public override string CombineDate(DateOption dateOption, string table, string field, string value) { string result = string.Empty; switch (dateOption) { case DateOption.AddYears: { result = $"add_months({table}.{field},{value}*12)"; } break; case DateOption.AddMonths: { result = $"add_months({table}.{field},{value})"; } break; case DateOption.AddDays: { result = $"(({table}.{field})+{value})"; } break; case DateOption.AddHours: { result = $"(({table}.{field})+({value}/24))"; } break; case DateOption.AddMinutes: { result = $"(({table}.{field})+({value}/24/60))"; } break; case DateOption.AddSeconds: { result = $"(({table}.{field})+({value}/24/60/60))"; } break; } return(result); }
/// <summary> /// 时间转义 /// </summary> /// <param name="dateOption"></param> /// <param name="table"></param> /// <param name="field"></param> /// <param name="value"></param> /// <returns></returns> public override string CombineDate(DateOption dateOption, string table, string field, string value) { string result = string.Empty; switch (dateOption) { case DateOption.AddYears: { result = $"dateadd(yy,{value},{table}.{field})"; } break; case DateOption.AddMonths: { result = $"dateadd(mm,{value},{table}.{field})"; } break; case DateOption.AddDays: { result = $"dateadd(dd,{value},{table}.{field})"; } break; case DateOption.AddHours: { result = $"dateadd(hh,{value},{table}.{field})"; } break; case DateOption.AddMinutes: { result = $"dateadd(minute,{value},{table}.{field})"; } break; case DateOption.AddSeconds: { result = $"dateadd(ss,{value},{table}.{field})"; } break; } return(result); }
public override string CombineDate(DateOption dateOption, string table, string field, string value) { string result = string.Empty; switch (dateOption) { case DateOption.AddYears: { result = $"date_add({table}.{field}, interval {value} year)"; } break; case DateOption.AddMonths: { result = $"date_add({table}.{field}, interval {value} month)"; } break; case DateOption.AddDays: { result = $"date_add({table}.{field}, interval {value} day)"; } break; case DateOption.AddHours: { result = $"date_add({table}.{field}, interval {value} hour)"; } break; case DateOption.AddMinutes: { result = $"date_add({table}.{field}, interval {value} minute)"; } break; case DateOption.AddSeconds: { result = $"date_add({table}.{field}, interval {value} second)"; } break; } return(result); }
private void AddDatesToItems(DateTime date, int maxCount, int step, DateOption dateOption, string dateFormat) { var monthDate = new DateTime(date.Year, date.Month, 1); var yearDate = new DateTime(date.Year, 1, 1); for (var i = 0; i <= maxCount; i += step) { switch (dateOption) { case DateOption.Days: Items.Add(date.Date.AddDays(i).ToString(dateFormat)); break; case DateOption.Months: Items.Add(monthDate.Date.AddMonths(i).ToString(dateFormat)); break; case DateOption.Years: Items.Add(yearDate.Date.AddYears(i).ToString(dateFormat)); break; } } }
/// <summary> /// 结合时间处理 /// </summary> /// <param name="dateOption"></param> /// <param name="spliceField"></param> /// <param name="fieldInkove"></param> /// <param name="valueInkove"></param> public override void CombineDate(DateOption dateOption, StringBuilder spliceField, Action fieldInkove, Action valueInkove) { //string result = string.Empty; switch (dateOption) { case DateOption.AddYears: { //result = $"date_add({field}, interval {value} year)"; spliceField.Append(" date_add("); fieldInkove.Invoke(); spliceField.Append(", interval "); valueInkove.Invoke(); spliceField.Append(" year)"); } break; case DateOption.AddMonths: { //result = $"date_add({field}, interval {value} month)"; spliceField.Append(" date_add("); fieldInkove.Invoke(); spliceField.Append(", interval "); valueInkove.Invoke(); spliceField.Append(" month)"); } break; case DateOption.AddDays: { //result = $"date_add({field}, interval {value} day)"; spliceField.Append(" date_add("); fieldInkove.Invoke(); spliceField.Append(", interval "); valueInkove.Invoke(); spliceField.Append(" day)"); } break; case DateOption.AddHours: { //result = $"date_add({field}, interval {value} hour)"; spliceField.Append(" date_add("); fieldInkove.Invoke(); spliceField.Append(", interval "); valueInkove.Invoke(); spliceField.Append(" hour)"); } break; case DateOption.AddMinutes: { //result = $"date_add({field}, interval {value} minute)"; spliceField.Append(" date_add("); fieldInkove.Invoke(); spliceField.Append(", interval "); valueInkove.Invoke(); spliceField.Append(" minute)"); } break; case DateOption.AddSeconds: { //result = $"date_add({field}, interval {value} second)"; spliceField.Append(" date_add("); fieldInkove.Invoke(); spliceField.Append(", interval "); valueInkove.Invoke(); spliceField.Append(" second)"); } break; } //return result; }
public SearchRange(DateTime @from, DateTime to, DateOption dateOption, string dateFormat) : this(@from, to, 1, dateOption, dateFormat) { }
/// <summary> /// 结合时间处理 /// </summary> /// <param name="dateOption"></param> /// <param name="spliceField"></param> /// <param name="fieldInkove"></param> /// <param name="valueInkove"></param> public abstract void CombineDate(DateOption dateOption, StringBuilder spliceField, Action fieldInkove, Action valueInkove);
/// <summary> /// 结合时间处理 /// </summary> /// <param name="dateOption">时间操作</param> /// <param name="table">表名</param> /// <param name="field">字段</param> /// <param name="value">值</param> /// <returns></returns> public abstract string CombineDate(DateOption dateOption, string table, string field, string value);
/// <summary> /// 时间转义 /// </summary> /// <param name="dateOption"></param> /// <param name="table"></param> /// <param name="field"></param> /// <param name="value"></param> /// <returns></returns> public override void CombineDate(DateOption dateOption, StringBuilder spliceField, Action fieldInkove, Action valueInkove) { //string result = string.Empty; switch (dateOption) { case DateOption.AddYears: { //result = $"dateadd(yy,{value},{field})"; spliceField.Append(" dateadd(yy,"); valueInkove.Invoke(); spliceField.Append(","); fieldInkove.Invoke(); spliceField.Append(" )"); } break; case DateOption.AddMonths: { //result = $"dateadd(mm,{value},{field})"; spliceField.Append(" dateadd(mm,"); valueInkove.Invoke(); spliceField.Append(","); fieldInkove.Invoke(); spliceField.Append(" )"); } break; case DateOption.AddDays: { //result = $"dateadd(dd,{value},{field})"; spliceField.Append(" dateadd(dd,"); valueInkove.Invoke(); spliceField.Append(","); fieldInkove.Invoke(); spliceField.Append(" )"); } break; case DateOption.AddHours: { //result = $"dateadd(hh,{value},{field})"; spliceField.Append(" dateadd(hh,"); valueInkove.Invoke(); spliceField.Append(","); fieldInkove.Invoke(); spliceField.Append(" )"); } break; case DateOption.AddMinutes: { //result = $"dateadd(minute,{value},{field})"; spliceField.Append(" dateadd(minute,"); valueInkove.Invoke(); spliceField.Append(","); fieldInkove.Invoke(); spliceField.Append(" )"); } break; case DateOption.AddSeconds: { //result = $"dateadd(ss,{value},{field})"; spliceField.Append(" dateadd(ss,"); valueInkove.Invoke(); spliceField.Append(","); fieldInkove.Invoke(); spliceField.Append(" )"); } break; } //return result; }
public SearchRange(DateTime @from, DateTime to, DateOption dateOption) : this(@from, to, 1, dateOption) { }
public IList<string> GetProductOrder(string plant, IList<string> sapOrderTypeList, DateOption dateOption, DateTime? dateFrom, DateTime? dateTo, IList<string> mrpCtrlList) { lock (GetProductOrderLock) { try { IList<int> batchNoList = GetProductOrder(plant, null, sapOrderTypeList, dateOption, dateFrom, dateTo, mrpCtrlList); foreach (int batchNo in batchNoList) { log.DebugFormat("开始生成非整车生产订单, BatchNo {0}", batchNo); User user = SecurityContextHolder.Get(); this.genericMgr.UpdateWithNativeQuery("exec USP_Busi_GenProductOrder ?,?,?", new object[] { batchNo, user.Id, user.FullName }); log.DebugFormat("结束生成非整车生产订单, BatchNo {0}", batchNo); } string sql = string.Empty; IList<object> parms = new List<object>(); foreach (int batchNo in batchNoList) { if (sql == string.Empty) { sql = "select Msg from LOG_GenProductOrder where BatchNo in (?"; } else { sql += ",?"; } parms.Add(batchNo); } sql += ")"; return this.genericMgr.FindAllWithNativeSql<string>(sql, parms.ToArray()); } catch (BusinessException ex) { log.Error("生成非整车生产单失败。", ex); throw ex; } catch (Exception ex) { string exMessage = ex.InnerException != null ? (ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : ex.InnerException.Message) : ex.Message; log.ErrorFormat("生成非整车生产单出现异常,异常信息{0}。", exMessage); log.Error(ex); throw new BusinessException("生成非整车生产单出现异常,异常信息{0}。", exMessage); } } }
public List<string> GetProductOrder2(string plant, List<string> sapOrderTypeList, DateOption dateOption, DateTime? dateFrom, DateTime? dateTo, List<string> mrpCtrlList, string userCode) { try { SecurityContextHolder.Set(securityMgr.GetUser(userCode)); return (List<string>)productionMgr.GetProductOrder(plant, sapOrderTypeList, dateOption, dateFrom, dateTo, mrpCtrlList); } catch (BusinessException ex) { List<string> errorMsgList = new List<string>(); foreach (Message message in ex.GetMessages()) { errorMsgList.Add(message.GetMessageString()); } return errorMsgList; } catch (Exception ex) { List<string> errorMsgList = new List<string>(); errorMsgList.Add(string.Format("获取SAP非整车生产单失败,错误消息为:{0}。", ex.Message)); return errorMsgList; } }
/// <summary> /// 结合时间处理 /// </summary> /// <param name="dateOption"></param> /// <param name="spliceField"></param> /// <param name="fieldInkove"></param> /// <param name="valueInkove"></param> public override void CombineDate(DateOption dateOption, StringBuilder spliceField, Action fieldInkove, Action valueInkove) { //string result = string.Empty; switch (dateOption) { case DateOption.AddYears: { //result = $"add_months({field},{value}*12)"; spliceField.Append("add_months("); fieldInkove.Invoke(); spliceField.Append(","); valueInkove.Invoke(); spliceField.Append("*12)"); } break; case DateOption.AddMonths: { //result = $"add_months({field},{value})"; spliceField.Append("add_months("); fieldInkove.Invoke(); spliceField.Append(","); valueInkove.Invoke(); spliceField.Append(")"); } break; case DateOption.AddDays: { //result = $"(({field})+{value})"; spliceField.Append("(("); fieldInkove.Invoke(); spliceField.Append(")+"); valueInkove.Invoke(); spliceField.Append(")"); } break; case DateOption.AddHours: { //result = $"(({field})+({value}/24))"; spliceField.Append("(("); fieldInkove.Invoke(); spliceField.Append(")+"); valueInkove.Invoke(); spliceField.Append("/24)"); } break; case DateOption.AddMinutes: { //result = $"(({field})+({value}/24/60))"; spliceField.Append("(("); fieldInkove.Invoke(); spliceField.Append(")+"); valueInkove.Invoke(); spliceField.Append("/24/60)"); } break; case DateOption.AddSeconds: { //result = $"(({field})+({value}/24/60/60))"; spliceField.Append("(("); fieldInkove.Invoke(); spliceField.Append(")+"); valueInkove.Invoke(); spliceField.Append("/24/60/60)"); } break; } //return result; }
private IList<int> GetProductOrder(string plant, IList<string> sapOrderNoList, IList<string> sapOrderTypeList, DateOption dateOption, DateTime? dateFrom, DateTime? dateTo, IList<string> mrpCtrlList) { log.DebugFormat("开始获取非整车生产订单,工厂{0}", plant); ZHEAD[] orderHeadAry = null; com.Sconit.Service.SAP.MI_PO_LES.ZITEM_LX[] orderOpAry = null; ZITEM_ZJ[] orderBomAry = null; try { MI_PO_LESService soService = new MI_PO_LESService(); soService.Credentials = base.Credentials; soService.Timeout = base.TimeOut; soService.Url = ReplaceSAPServiceUrl(soService.Url); #region 生产订单号 ZRANGE_AUFNR[] AUFNR = new ZRANGE_AUFNR[sapOrderNoList != null ? sapOrderNoList.Count() : 0]; if (sapOrderNoList != null && sapOrderNoList.Count() > 0) { for (int i = 0; i < sapOrderNoList.Count(); i++) { string sapOrderNo = sapOrderNoList[i]; AUFNR[i] = new ZRANGE_AUFNR(); AUFNR[i].SIGN = "I"; AUFNR[i].OPTION = "EQ"; AUFNR[i].LOW = sapOrderNo; } } #endregion #region 订单类型 ZRANGE_DAUAT[] DAUAT = new ZRANGE_DAUAT[sapOrderTypeList != null ? sapOrderTypeList.Count() : 0]; if (sapOrderTypeList != null && sapOrderTypeList.Count() > 0) { for (int i = 0; i < sapOrderTypeList.Count(); i++) { string sapOrderType = sapOrderTypeList[i]; DAUAT[i] = new ZRANGE_DAUAT(); DAUAT[i].SIGN = "I"; DAUAT[i].OPTION = "EQ"; DAUAT[i].LOW = sapOrderType; } } #endregion #region 计划开始日期 ZRANGE_GSTRS[] GSTRS = new ZRANGE_GSTRS[dateFrom.HasValue || dateTo.HasValue ? 1 : 0]; if (dateFrom.HasValue || dateTo.HasValue) { GSTRS[0] = new ZRANGE_GSTRS(); GSTRS[0].SIGN = "I"; switch (dateOption) { case DateOption.EQ: GSTRS[0].OPTION = "EQ"; break; case DateOption.GT: GSTRS[0].OPTION = "GT"; break; case DateOption.GE: GSTRS[0].OPTION = "GE"; break; case DateOption.LT: GSTRS[0].OPTION = "LT"; break; case DateOption.LE: GSTRS[0].OPTION = "LE"; break; case DateOption.BT: GSTRS[0].OPTION = "BT"; break; } if (dateFrom.HasValue) { GSTRS[0].LOW = dateFrom.Value.ToString("yyyyMMdd"); } if (dateTo.HasValue) { GSTRS[0].HIGH = dateTo.Value.ToString("yyyyMMdd"); } } #endregion #region MRP控制者 ZRANGE_DISPO[] DISPO = new ZRANGE_DISPO[mrpCtrlList != null ? mrpCtrlList.Count() : 0]; if (mrpCtrlList != null && mrpCtrlList.Count() > 0) { for (int i = 0; i < mrpCtrlList.Count(); i++) { string mrpCtrl = mrpCtrlList[i]; DISPO[i] = new ZRANGE_DISPO(); DISPO[i].SIGN = "I"; DISPO[i].OPTION = "EQ"; DISPO[i].LOW = mrpCtrl; } } #endregion string returnMessage = null; log.DebugFormat("连接WebService获取非整车订单,工厂{0}。", plant); orderHeadAry = soService.MI_PO_LES(AUFNR, DAUAT, DISPO, GSTRS, plant, "", "", out orderOpAry, out orderBomAry, out returnMessage); if (!string.IsNullOrWhiteSpace(returnMessage)) { log.ErrorFormat("获取非整车生产单失败,失败信息:{0}。", returnMessage); throw new BusinessException(returnMessage); } } catch (Exception ex) { string errorMessage = ex.InnerException != null ? (ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : ex.InnerException.Message) : ex.Message; log.ErrorFormat("获取非整车生产单出现异常,异常信息:{0}。", errorMessage); log.Error(ex); throw new BusinessException("获取非整车生产单出现异常,异常信息:{0}。", errorMessage); } var aufnrCollection = orderHeadAry.Select(oh => oh.AUFNR); IList<int> batchNoList = new List<int>(); foreach (string AUFNR in aufnrCollection) { int batchNo = 0; //如果是试制订单要用batchno来比较,2013-10-14 ZHEAD[] toInsertedAry = orderHeadAry.Where(oh => oh.AUFNR == AUFNR).ToArray(); if (toInsertedAry[0].DAUAT == "ZP01" || toInsertedAry[0].DAUAT == "ZP02") batchNo = InsertTmpTable(toInsertedAry, orderOpAry.Where(oo => oo.AUFNR == AUFNR).ToArray(), orderBomAry.Where(ob => ob.BATCH == AUFNR.Substring(2, AUFNR.Length - 2)).ToArray()); else batchNo = InsertTmpTable(toInsertedAry, orderOpAry.Where(oo => oo.AUFNR == AUFNR).ToArray(), orderBomAry.Where(ob => ob.AUFNR == AUFNR).ToArray()); batchNoList.Add(batchNo); } return batchNoList; }