public ActionResult AddNewServingTime(ServingTimeModel servingTimeModel)
        {
            if (!ModelState.IsValid)
            {
                return View(servingTimeModel);
            }

            ServingTimeTableAdapter servingTimeDataAdapter = new ServingTimeTableAdapter();
            DataTable servingTimeDT = servingTimeDataAdapter.GetData();

            try
            {
                string name = servingTimeModel.Name;
                TimeSpan startTime = servingTimeModel.startTime;
                TimeSpan endTime = servingTimeModel.endTime;

                if (startTime.Days > 0)
                {
                    startTime = TimeSpan.FromHours(startTime.Days);
                }

                if (endTime.Days > 0)
                {
                    endTime = TimeSpan.FromHours(endTime.Days);
                }

                TimeSpan startTimeDB, endTimeDB;

                if (startTime > endTime)
                {
                    ModelState.AddModelError("", "Thời gian bắt đầu không được lớn hơn thời gian kết thúc.");
                    return View(servingTimeModel);
                }

                foreach (System.Data.DataRow row in servingTimeDT.Rows)
                {
                    startTimeDB = row.Field<TimeSpan>("StartTime");
                    endTimeDB = row.Field<TimeSpan>("EndTime");

                    if ((startTime >= startTimeDB && startTime <= endTimeDB) || (endTime >= startTimeDB && endTime <= endTimeDB) || (startTime <= startTimeDB && endTime >= endTimeDB))
                    {
                        ModelState.AddModelError("", "Thời gian phục vụ mới trùng với thời gian phục vụ có trước đó. Vui lòng xác nhận lại!");
                        return View(servingTimeModel);
                    }
                }
                DateTime date = DateTime.Now;
                servingTimeDataAdapter.Insert(name, startTime, endTime, date, date);
                Session["addServingTime"] = "Thêm mới thành công!";
            }
            catch (Exception ex)
            {
                Log.ErrorLog(ex.Message);
                Session["addServingTime"] = "Thêm mới thất bại!";
            }
            return RedirectToAction("ViewServingTime", "Schedule");
        }
        public ActionResult EditServingTime(ServingTimeModel servingTimeModel, string servingTimeID)
        {
            if (!ModelState.IsValid)
            {
                return View(servingTimeModel);
            }

            ServingTimeTableAdapter servingTimeTableAdapter = new ServingTimeTableAdapter();
            DataTable servingTimeDT = servingTimeTableAdapter.GetData();

            try
            {
                int servingTimeId = Convert.ToInt32(servingTimeID);
                string name = servingTimeModel.Name;
                TimeSpan startTime = servingTimeModel.startTime;
                TimeSpan endTime = servingTimeModel.endTime;
                if (startTime.Days > 0)
                {
                    startTime = TimeSpan.FromHours(startTime.Days);
                }

                if (endTime.Days > 0)
                {
                    endTime = TimeSpan.FromHours(endTime.Days);
                }
                TimeSpan startTimeDB, endTimeDB;

                if (startTime > endTime)
                {
                    ModelState.AddModelError("", "Thời gian bắt đầu không được lớn hơn thời gian kết thúc.");
                    return View(servingTimeModel);
                }

                foreach (System.Data.DataRow row in servingTimeDT.Rows)
                {
                    if (!(row.Field<int>("ServingTimeID") == servingTimeId))
                    {
                        startTimeDB = row.Field<TimeSpan>("StartTime");
                        endTimeDB = row.Field<TimeSpan>("EndTime");

                        if ((startTime >= startTimeDB && startTime <= endTimeDB) || (endTime >= startTimeDB && endTime <= endTimeDB) || (startTime <= startTimeDB && endTime >= endTimeDB))
                        {
                            ModelState.AddModelError("", "Thời gian phục vụ mới trùng với thời gian phục vụ có trước đó. Vui lòng xác nhận lại!");
                            return View(servingTimeModel);
                        }
                    }
                }

                DateTime insertDate = servingTimeModel.insertDate;
                DateTime lastUpdate = DateTime.Now;

                servingTimeTableAdapter.UpdateServingTimeByID(name, startTime, endTime, insertDate, lastUpdate, servingTimeId);
                Session["editServingTime"] = "Cập nhật thành công!";
            }
            catch (Exception ex)
            {
                Log.ErrorLog(ex.Message);
                Session["editServingTime"] = "Cập nhật thất bại!";
            }
            return RedirectToAction("EditServingTime", "Schedule", new { @servingTimeID = servingTimeID });
        }
 public ActionResult EditServingTime(string servingTimeID)
 {
     ServingTimeModel servingTimeModel = new ServingTimeModel();
     DataTable servingTimeDataTable = new DataTable();
     ServingTimeTableAdapter servingTimeAdapter = new ServingTimeTableAdapter();
     try
     {
         int servingTimeId = Convert.ToInt32(servingTimeID);
         servingTimeDataTable = servingTimeAdapter.GetDataByID(servingTimeId);
         servingTimeModel.servingTimeID = servingTimeDataTable.Rows[0].Field<int>("ServingTimeID");
         servingTimeModel.Name = Convert.ToString(servingTimeDataTable.Rows[0]["Name"]);
         servingTimeModel.startTime = (TimeSpan)servingTimeDataTable.Rows[0]["StartTime"];
         servingTimeModel.endTime = (TimeSpan)servingTimeDataTable.Rows[0]["EndTime"];
         servingTimeModel.insertDate = Convert.ToDateTime(servingTimeDataTable.Rows[0]["InsertedDate"]);
         servingTimeModel.lastUpdate = Convert.ToDateTime(servingTimeDataTable.Rows[0]["LastUpdated"]);
     }
     catch (Exception ex)
     {
         Log.ErrorLog(ex.Message);
         return RedirectToAction("Error", "Error");
     }
     return View(servingTimeModel);
 }