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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }