public ActionResult Create(FormCollection form, Employee_Shift_schedule model) { try { ViewBag.emp = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "-[" + m.Name + ']', ID = m.ID }); ViewBag.shift = dbcontext.Shift_setup.ToList().Select(m => new { Code = m.Code + "-[" + m.Name + ']', ID = m.ID }); ViewBag.daystate = dbcontext.Shiftdaystatus.ToList().Select(m => new { Code = m.Code + "-[" + m.Name + ']', ID = m.ID }); var actual_shift = dbcontext.Employee_Shift_schedule.Add(model); dbcontext.SaveChanges(); if (model.Use_As_Default == true) { var all_schedule_for_this_employee = dbcontext.Employee_Shift_schedule.Where(m => m.Use_As_Default == true && m.ID != actual_shift.ID); foreach (var item in all_schedule_for_this_employee) { item.Use_As_Default = false; dbcontext.SaveChanges(); } } ////////////////////////////////////////// var from_D = form["fromdate"].Split(','); var to_D = form["todate"].Split(','); var from_T = form["fromtime"].Split(','); var to_T = form["totime"].Split(','); var shift = form["shift_ID"].Split(','); var state = form["status_ID"].Split(','); var Temco = form["Temco"].Split(','); var TemDe = form["TemDe"].Split(','); var TemDeAl = form["TemDeAl"].Split(','); var temp = new Template(); if (TemDe[0] != "") { temp.TemplateCode = Temco[0]; temp.TemplateDescription = TemDe[0]; temp.Employee_Shift_scheduleID = actual_shift.ID; if (TemDeAl[0] != "") { temp.TemplateAllternativeDescription = TemDeAl[0]; } else { temp.TemplateAllternativeDescription = null; } temp.To_date = actual_shift.To_date; temp.From_date = actual_shift.From_date; dbcontext.Template.Add(temp); dbcontext.SaveChanges(); } for (var i = 0; i < shift.Count(); i++) { var Si_id = int.Parse(shift[i]); var St_id = int.Parse(state[i]); var f_D = Convert.ToDateTime(from_D[i]); var t_D = Convert.ToDateTime(to_D[i]); var f_t = Convert.ToDateTime(from_T[i]).TimeOfDay; var t_t = Convert.ToDateTime(to_T[i]).TimeOfDay; var details = new Schedule_Details {/*Template = actual_shift.TemplateCode,*/ Employee_Shift_scheduleID = actual_shift.ID, Shift_setupID = Si_id, ShiftdaystatusID = St_id, From_date = f_D, To_date = t_D, From = f_t, To = t_t }; dbcontext.Schedule_Details.Add(details); dbcontext.SaveChanges(); if (TemDe[0] != "") { var detailss = new Shiftscheduletemplate { TemplateAllternativeDescription_Shifts = TemDeAl[0], TemplateDescription_Shifts = TemDe[0], TemplateCode_Shifts = Temco[0], Employee_Shift_scheduleID = actual_shift.ID, Shift_setupID = Si_id, ShiftdaystatusID = St_id, From_date = f_D, To_date = t_D, From = f_t, To = t_t }; dbcontext.Shiftscheduletemplate.Add(detailss); dbcontext.SaveChanges(); } } ///////////////////////////////////////// return(RedirectToAction("index")); } catch (Exception e) { return(View(model)); } }
public ActionResult Create(Template model, FormCollection form, DateTime?fromDDD, string toD) { try { List <SelectListItem> items = new List <SelectListItem>(); items.Insert(0, (new SelectListItem { Text = "All employee", Value = "1", })); items.Insert(1, (new SelectListItem { Text = "unit", Value = "2", })); items.Insert(2, (new SelectListItem { Text = "nationality", Value = "3", })); items.Insert(3, (new SelectListItem { Text = "Work location", Value = "4", })); items.Insert(4, (new SelectListItem { Text = "Cost center", Value = "5", })); items.Insert(5, (new SelectListItem { Text = "Cadre level", Value = "6", })); ViewBag.Object = new SelectList(items, "Value", "Text"); var ID_emp = form["ID_emp"].Split(','); var codeids = form["codeids"].Split(','); var Description = form["TempDe"].Split(','); var DescriptionAl = form["TempDeAl"].Split(','); //var fromD = form["fromDDD"].Split(','); //var toDs = form["toD"].Split(','); var code = codeids[0]; var Shiftscheduletemplate = dbcontext.Shiftscheduletemplate.Where(a => a.TemplateCode_Shifts == code).ToList(); for (int e = 0; e < ID_emp.Count(); e++) { if (ID_emp[e] != "") { var id = int.Parse(ID_emp[e]); Employee_Shift_schedule new_Records = new Employee_Shift_schedule(); dbcontext.Configuration.ProxyCreationEnabled = false; var num_of_sch = dbcontext.Employee_Shift_schedule.Where(m => m.Employee_ProfileID == id).ToList(); var emp = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == id); var codes = ""; if (num_of_sch.Count == 0) { codes = emp.Code + "_SCH_1"; } else { codes = emp.Code + "_SCH_" + (num_of_sch.Count() + 1); } new_Records.Code = codes; var emps = int.Parse(ID_emp[e]); new_Records.Employee_ProfileID = emps; var Des = Description[0]; new_Records.Name = Des; var DesAl = DescriptionAl[0]; new_Records.Description = DesAl; new_Records.From_date = model.From_date; new_Records.To_date = model.To_date; var Headers = dbcontext.Employee_Shift_schedule.Add(new_Records); dbcontext.SaveChanges(); for (var i = 0; i < Shiftscheduletemplate.Count(); i++) { Schedule_Details new_Record = new Schedule_Details(); new_Record.Employee_Shift_scheduleID = Headers.ID; new_Record.From = Shiftscheduletemplate[i].From; new_Record.To = Shiftscheduletemplate[i].To; new_Record.From_date = Shiftscheduletemplate[i].From_date; new_Record.To_date = Shiftscheduletemplate[i].To_date; new_Record.ShiftdaystatusID = Shiftscheduletemplate[i].ShiftdaystatusID; new_Record.Shift_setupID = Shiftscheduletemplate[i].Shift_setupID; var Header = dbcontext.Schedule_Details.Add(new_Record); dbcontext.SaveChanges(); } } } //////////////// return(RedirectToAction("index", "EmployeeShift")); } catch (Exception e) { return(View(model)); } }