public int CompareTo(object obj) { WorkdayInfo b = obj as WorkdayInfo; if (this.SysNo > b.SysNo) { return(1); } else { return(-1); } }
public int Update(WorkdayInfo oParam) { string sql = @"UPDATE Workday SET Name=@Name, Date=@Date, TimeSpan=@TimeSpan, Week=@Week, Status=@Status WHERE SysNo=@SysNo"; SqlCommand cmd = new SqlCommand(sql); SqlParameter paramSysNo = new SqlParameter("@SysNo", SqlDbType.Int, 4); SqlParameter paramName = new SqlParameter("@Name", SqlDbType.NVarChar, 50); SqlParameter paramDate = new SqlParameter("@Date", SqlDbType.DateTime); SqlParameter paramTimeSpan = new SqlParameter("@TimeSpan", SqlDbType.Int, 4); SqlParameter paramWeek = new SqlParameter("@Week", SqlDbType.Int, 4); SqlParameter paramStatus = new SqlParameter("@Status", SqlDbType.Int, 4); if (oParam.SysNo != AppConst.IntNull) paramSysNo.Value = oParam.SysNo; else paramSysNo.Value = System.DBNull.Value; if (oParam.Name != AppConst.StringNull) paramName.Value = oParam.Name; else paramName.Value = System.DBNull.Value; if (oParam.Date != AppConst.DateTimeNull) paramDate.Value = oParam.Date; else paramDate.Value = System.DBNull.Value; if (oParam.TimeSpan != AppConst.IntNull) paramTimeSpan.Value = oParam.TimeSpan; else paramTimeSpan.Value = System.DBNull.Value; if (oParam.Week != AppConst.IntNull) paramWeek.Value = oParam.Week; else paramWeek.Value = System.DBNull.Value; if (oParam.Status != AppConst.IntNull) paramStatus.Value = oParam.Status; else paramStatus.Value = System.DBNull.Value; cmd.Parameters.Add(paramSysNo); cmd.Parameters.Add(paramName); cmd.Parameters.Add(paramDate); cmd.Parameters.Add(paramTimeSpan); cmd.Parameters.Add(paramWeek); cmd.Parameters.Add(paramStatus); return SqlHelper.ExecuteNonQuery(cmd); }
public int Insert(WorkdayInfo oParam) { string sql = @"INSERT INTO Workday ( Name, Date, TimeSpan, Week, Status ) VALUES ( @Name, @Date, @TimeSpan, @Week, @Status );set @SysNo = SCOPE_IDENTITY();"; SqlCommand cmd = new SqlCommand(sql); SqlParameter paramSysNo = new SqlParameter("@SysNo", SqlDbType.Int, 4); SqlParameter paramName = new SqlParameter("@Name", SqlDbType.NVarChar, 50); SqlParameter paramDate = new SqlParameter("@Date", SqlDbType.DateTime); SqlParameter paramTimeSpan = new SqlParameter("@TimeSpan", SqlDbType.Int, 4); SqlParameter paramWeek = new SqlParameter("@Week", SqlDbType.Int, 4); SqlParameter paramStatus = new SqlParameter("@Status", SqlDbType.Int, 4); paramSysNo.Direction = ParameterDirection.Output; if (oParam.Name != AppConst.StringNull) paramName.Value = oParam.Name; else paramName.Value = System.DBNull.Value; if (oParam.Date != AppConst.DateTimeNull) paramDate.Value = oParam.Date; else paramDate.Value = System.DBNull.Value; if (oParam.TimeSpan != AppConst.IntNull) paramTimeSpan.Value = oParam.TimeSpan; else paramTimeSpan.Value = System.DBNull.Value; if (oParam.Week != AppConst.IntNull) paramWeek.Value = oParam.Week; else paramWeek.Value = System.DBNull.Value; if (oParam.Status != AppConst.IntNull) paramStatus.Value = oParam.Status; else paramStatus.Value = System.DBNull.Value; cmd.Parameters.Add(paramSysNo); cmd.Parameters.Add(paramName); cmd.Parameters.Add(paramDate); cmd.Parameters.Add(paramTimeSpan); cmd.Parameters.Add(paramWeek); cmd.Parameters.Add(paramStatus); return SqlHelper.ExecuteNonQuery(cmd, out oParam.SysNo); }
public static void AddWorkdayPeriod(string datefrom, string dateto) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { DateTime dtfrom = Convert.ToDateTime(datefrom); DateTime dtto = Convert.ToDateTime(dateto); string sql = "select top 1 * from workday where [date] = '" + dtfrom.AddDays(-1).ToString(AppConst.DateFormat) + "' order by [date] desc"; DataSet ds = SqlHelper.ExecuteDataSet(sql); if (!Util.HasMoreRow(ds)) { throw new BizException("�밴˳����ӹ�����"); } int dayCount = Util.DateDiff(dtfrom, dtto); for (int i = 0; i <= dayCount; i++) { DateTime curDay = dtfrom.AddDays(i); WorkdayInfo oInfo = new WorkdayInfo(); int weekid = Util.GetWeekID(curDay.DayOfWeek); string weekname = Util.GetWeekName(weekid); oInfo.Name = curDay.ToString(AppConst.DateFormat) + " " + weekname + " ����"; oInfo.Date = curDay; oInfo.TimeSpan = 1; oInfo.Week = weekid; if (weekid != 7) oInfo.Status = (int)AppEnum.BiStatus.Valid; else oInfo.Status = (int)AppEnum.BiStatus.InValid; if (GetOneWorkday(oInfo) != null) throw new BizException("�ظ��Ĺ�����"); InsertWorkday(oInfo); oInfo.Name = curDay.ToString(AppConst.DateFormat) + " " + weekname + " ����"; oInfo.TimeSpan = 2; if (GetOneWorkday(oInfo) != null) throw new BizException("�ظ��Ĺ�����"); InsertWorkday(oInfo); } scope.Complete(); } }
public static int UpdateWorkday(WorkdayInfo oParam) { return new WorkdayDac().Update(oParam); }
public static WorkdayInfo LoadWorkday(int sysno) { string sql = "select * from workday where sysno=" + sysno; DataSet ds = SqlHelper.ExecuteDataSet(sql); if (Util.HasMoreRow(ds)) { WorkdayInfo oInfo = new WorkdayInfo(); Map(oInfo, ds.Tables[0].Rows[0]); return oInfo; } else return null; }
public static int InsertWorkday(WorkdayInfo oParam) { return new WorkdayDac().Insert(oParam); }
public static DataSet GetOneWorkday(WorkdayInfo oParam) { string sql = "select * from workday where date=" + Util.ToSqlString(oParam.Date.ToString(AppConst.DateFormat)) + " and TimeSpan=" + oParam.TimeSpan; DataSet ds = SqlHelper.ExecuteDataSet(sql); if (Util.HasMoreRow(ds)) return ds; else return null; }
private static void Map(WorkdayInfo oParam, DataRow tempdr) { oParam.SysNo = Util.TrimIntNull(tempdr["SysNo"]); oParam.Name = Util.TrimNull(tempdr["Name"]); oParam.Date = Util.TrimDateNull(tempdr["Date"]); oParam.TimeSpan = Util.TrimIntNull(tempdr["TimeSpan"]); oParam.Week = Util.TrimIntNull(tempdr["Week"]); oParam.Status = Util.TrimIntNull(tempdr["Status"]); }
public static SortedList GetDeliveryTime(bool HasEnoughAvailableQty, DateTime OrderTime, int Top) { string sToday = DateTime.Now.ToString("yyyy-MM-dd"); DateTime dt11 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 11:30"); //�����ֹ11:30 if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday) dt11 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 11:30"); //���������ֹ11:30 else if (DateTime.Now.DayOfWeek == DayOfWeek.Sunday) dt11 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 00:01"); //���������ֹ00:01 DateTime dt17 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 23:59"); //�����ֹ23:59 if (DateTime.Now.DayOfWeek == DayOfWeek.Sunday) dt17 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 18:00"); //���������ֹ18:00 DateTime dt15 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 18:00"); //���������ֹ18:00 int iTimeSpan = 0; if (OrderTime.CompareTo(dt11) <= 0) //����11:30ǰ { iTimeSpan = 1; } else if (OrderTime.CompareTo(dt17) <= 0) //����23:59ǰ { iTimeSpan = 2; } else //�㵽�ڶ������� { sToday = Convert.ToDateTime(sToday).AddDays(1).ToString(AppConst.DateFormat); iTimeSpan = 1; } string sql = "select @top * from workday where sysno >= (select sysno from workday where [date]='" + sToday + "' and timespan='" + iTimeSpan + "') order by sysno"; sql = sql.Replace("@top", " top " + Convert.ToString(Top + 10)); DataSet ds = SqlHelper.ExecuteDataSet(sql); if (!Util.HasMoreRow(ds)) return null; int iRowCount = 0; SortedList sl = new SortedList(); foreach (DataRow dr in ds.Tables[0].Rows) { if (iRowCount == 0 || Util.TrimIntNull(dr["status"]) == (int)AppEnum.BiStatus.Valid) { WorkdayInfo oInfo = new WorkdayInfo(); Map(oInfo, dr); sl.Add(oInfo, null); iRowCount++; if (iRowCount == Top) break; } } if (Util.TrimIntNull(ds.Tables[0].Rows[0]["status"]) != (int)AppEnum.BiStatus.Valid) //����ʱ��Ϊ�ǹ���ʱ�� sl.RemoveAt(0); if (!HasEnoughAvailableQty) //�������������Ƴٰ���, { sl.RemoveAt(0); } sl.RemoveAt(0); if (!HasEnoughAvailableQty) //��������������µĶ�������Ҫ�����ܶ����� { if ((DateTime.Now.DayOfWeek == DayOfWeek.Saturday && DateTime.Now > dt15) || DateTime.Now.DayOfWeek == DayOfWeek.Sunday) { WorkdayInfo tempInfo = (WorkdayInfo)sl.GetKey(0); if (tempInfo.Date.DayOfWeek == DayOfWeek.Sunday) sl.RemoveAt(0); tempInfo = (WorkdayInfo)sl.GetKey(0); if (tempInfo.Date.DayOfWeek == DayOfWeek.Sunday) sl.RemoveAt(0); tempInfo = (WorkdayInfo)sl.GetKey(0); if (tempInfo.Date.DayOfWeek == DayOfWeek.Monday) sl.RemoveAt(0); tempInfo = (WorkdayInfo)sl.GetKey(0); if (tempInfo.Date.DayOfWeek == DayOfWeek.Monday) sl.RemoveAt(0); } } return sl; }