Esempio n. 1
0
        /// <summary>
        /// 更新排班信息方法
        /// </summary>
        /// <param name="context"></param>
        public void UpdateDistributeWork(HttpContext context)
        {
            var  distriModelList = JsonConvert.DeserializeObject <List <DistributeWorkModel> >(Common.GetRequest("distributeWorkJson"));
            var  distriID        = Convert.ToInt32(Common.GetRequest("distriID"));
            var  count           = distriModelList.Count;
            Type temp            = typeof(DistributeWorkModel);

            PropertyInfo[] propertyArray = temp.GetProperties();
            DataTable      dt            = new DataTable();

            dt.TableName = "DistributeWork";
            dt.Columns.Add("DWID", typeof(Int32));
            dt.Columns.Add("CWID", typeof(Int32));
            dt.Columns.Add("CSID", typeof(Int32));
            dt.Columns.Add("QTID", typeof(Int32));
            dt.Columns.Add("DWServiceUserAmount", typeof(Int32));
            dt.Columns.Add("DWStartDate", typeof(DateTime));
            dt.Columns.Add("DWEndDate", typeof(DateTime));
            dt.Columns.Add("DWDistributeWeek", typeof(string));
            dt.Columns.Add("DWStartHourAndMinutes", typeof(string));
            dt.Columns.Add("DWEndHourAndMinutes", typeof(string));
            dt.Columns.Add("DWMoveUpAppTime", typeof(Int32));
            dt.Columns.Add("DWConsultPlace", typeof(string));
            dt.Columns.Add("DWConsultTeacher", typeof(Int32));
            dt.Columns.Add("DWCreatePerson", typeof(Int32));
            dt.Columns.Add("DWCreateTime", typeof(DateTime));
            dt.Columns.Add("IsDelete", typeof(Int32));
            for (int i = 0; i < count; i++)
            {
                DistributeWorkModel model = distriModelList[i];
                model.DWCreateTime = DateTime.Now;
                DataRow dr = dt.NewRow();
                if (distriModelList.Count == 1)
                {
                    dr["DWID"] = distriID;
                }
                foreach (var item in propertyArray)
                {
                    if (item.Name != "ExtensionData" && item.Name != "DWID")
                    {
                        dr[item.Name] = Common.GetObjectPropertyValue <DistributeWorkModel>(model, item.Name);
                    }
                }
                dt.Rows.Add(dr);
            }
            var result = MgrServices.AppointmentConsultService.UpdateAppointmentInfo(dt, distriID);

            if (result)
            {
                context.Response.Write(JsonConvert.SerializeObject(new { State = true, Data = "修改成功" }));
                context.Response.End();
            }
            context.Response.Write(JsonConvert.SerializeObject(new { State = false, Data = "修改失败" }));
        }
Esempio n. 2
0
        /// <summary>
        /// 日期判重方法
        /// </summary>
        /// <param name="modelList"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool JudgeDateRepeat(List <DistributeWorkViewModel> modelList, DistributeWorkModel model)
        {
            var count         = modelList.Count;
            var isAdd         = true;
            var isContainWeek = false;

            string[] newWeekArray       = model.DWDistributeWeek.Split(',');
            var      newWeekArrayLength = newWeekArray.Length;

            for (int i = 0; i < count; i++)
            {
                isContainWeek = false;
                string[] beforeWeekArray = modelList[i].DistributeWeek.Split(',');
                if (model.DWEndDate < Convert.ToDateTime(modelList[i].StartDate) || model.DWStartDate > Convert.ToDateTime(modelList[i].EndDate))
                {
                    continue;
                }
                for (int j = 0; j < newWeekArrayLength; j++)
                {
                    if (beforeWeekArray.Contains(newWeekArray[j]))
                    {
                        isContainWeek = true;
                        break;
                    }
                }
                if (!isContainWeek)
                {
                    continue;
                }
                if (!(Convert.ToDateTime(model.DWEndHourAndMinutes) <= Convert.ToDateTime(modelList[i].StartHourAndMinutes) || Convert.ToDateTime(model.DWStartHourAndMinutes) >= Convert.ToDateTime(modelList[i].EndHourAndMinutes)))
                {
                    if (startDate == null)
                    {
                        startDate           = new List <string>();
                        endDate             = new List <string>();
                        startHourAndMinutes = new List <string>();
                        endHourAndMinutes   = new List <string>();
                    }
                    if (model.DWStartDate == model.DWEndDate && model.DWStartDate == Convert.ToDateTime(modelList[i].StartDate))
                    {
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count == 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate == model.DWEndDate && model.DWEndDate == Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count == 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate != model.DWEndDate && modelList[i].StartDate == modelList[i].EndDate)
                    {
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count == 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count > 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate > Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate < Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count == 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate < Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate == Convert.ToDateTime(modelList[i].StartDate))
                    {
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count == 0 && endDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].StartDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count > 0 && endDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].StartDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate == Convert.ToDateTime(modelList[i].EndDate) && model.DWEndDate > Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count == 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].EndDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count > 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].EndDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate < Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate > Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count == 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count > 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate < Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate > Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate < Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count == 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count > 0 && endDate.Where(m => m.ToString() == model.DWEndDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(model.DWEndDate.ToString("yyyy-MM-dd"));
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate > Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate > Convert.ToDateTime(modelList[i].EndDate) && model.DWStartDate < Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count == 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == model.DWStartDate.ToString("yyyy-MM-dd")).ToList().Count > 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(model.DWStartDate.ToString("yyyy-MM-dd"));
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }
                    if (model.DWStartDate <= Convert.ToDateTime(modelList[i].StartDate) && model.DWEndDate >= Convert.ToDateTime(modelList[i].EndDate))
                    {
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count == 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                        if (startDate.Where(m => m.ToString() == modelList[i].StartDate).ToList().Count > 0 && endDate.Where(m => m.ToString() == modelList[i].EndDate).ToList().Count > 0 && startHourAndMinutes.Where(m => m.ToString() == modelList[i].StartHourAndMinutes).ToList().Count == 0 && endHourAndMinutes.Where(m => m.ToString() == model.DWEndHourAndMinutes).ToList().Count == 0)
                        {
                            startDate.Add(modelList[i].StartDate);
                            endDate.Add(modelList[i].EndDate);
                            startHourAndMinutes.Add(modelList[i].StartHourAndMinutes);
                            endHourAndMinutes.Add(modelList[i].EndHourAndMinutes);
                        }
                    }

                    isAdd = false;
                }
            }
            return(isAdd);
        }