public ActionResult Create()
 {
     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 model = new Employee_Shift_schedule();
         return(View(model));
     }
     catch (Exception)
     {
         return(RedirectToAction("index"));
     }
 }
        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.º 3
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));
            }
        }
Ejemplo n.º 4
0
        public ActionResult ViewExecl(Employee_Shift_schedule model, FormCollection form)
        {
            try
            {
                var AllData = ViewBag.Data;
                var EmpCode = form["EmployeeCode"].Split(',');
                var EmpName = form["EmployeeName"].Split(',');
                var Date    = form["Date"].Split(',');
                var In      = form["In"].Split(',');
                var Out     = form["Out"].Split(',');

                for (var co = 0; co < EmpCode.Length; co++)
                {
                    var Code   = EmpCode[co];
                    var ChCode = dbcontext.Employee_Profile.Where(a => a.Active == true).FirstOrDefault(a => a.Code == Code);
                    if (ChCode == null)
                    {
                        TempData["Message"] = "Not found this data " + Code;
                        return(RedirectToAction("Index", "Employee_Payroll_Transactions"));
                    }
                }
                //for (var na = 0; na < EmpName.Length; na++)
                //{
                //    var Name = EmpName[na];
                //    var ChName = dbcontext.Employee_Profile.Where(a => a.Active == true).FirstOrDefault(a => a.Name == Name);
                //    if (ChName == null)
                //    {
                //        TempData["Message"] = "Not found this data " + Name;
                //        return RedirectToAction("Index", "Employee_Payroll_Transactions");
                //    }
                //}

                for (var c = 0; c < EmpCode.Length; c++)
                {
                    if (EmpCode[c] != "")
                    {
                        var CoEmp  = EmpCode[c];
                        var NaEmp  = EmpName[c];
                        var ChName = dbcontext.Employee_Profile.Where(a => a.Active == true).FirstOrDefault(a => a.Code == CoEmp && a.Name == NaEmp);
                        if (ChName == null)
                        {
                            TempData["Message"] = "Not found this data " + CoEmp + " " + NaEmp;
                            return(RedirectToAction("Index", "Employee_Payroll_Transactions"));
                        }

                        Employee_Shift_schedule newdata = new Employee_Shift_schedule();
                        var Employee_Shift_schedule     = dbcontext.Employee_Shift_schedule.ToList();
                        var Stru = dbcontext.StructureModels.FirstOrDefault(a => a.All_Models == ChModels.Payroll).Structure_Code;
                        if (Employee_Shift_schedule.Count() == 0)
                        {
                            newdata.Code = Stru + "1";
                        }
                        else
                        {
                            newdata.Code = Stru + (Employee_Shift_schedule.LastOrDefault().ID + 1).ToString();
                        }
                        //newdata.Employee_Code = CoEmp;
                        //newdata.SalaryCodeID = SalaCode;
                        //newdata.TransactionValue = 0;
                        //newdata.TransactionDate = DateTime.Parse(Transaction[c]);
                        //newdata.TransactionYear = DateTime.Parse(Transaction[c]).Year;
                        //newdata.TransactionMonth = DateTime.Parse(Transaction[c]).Month;
                        //newdata.EffectiveDate = DateTime.Parse(Effective[c]);
                        //newdata.EffectiveYear = DateTime.Parse(Effective[c]).Year;
                        //newdata.EffectiveMonth = DateTime.Parse(Effective[c]).Month;
                        //newdata.Created_By = User.Identity.Name;
                        //newdata.Created_Date = DateTime.Now.Date;
                        //newdata.CreatedBy = User.Identity.Name;
                        //newdata.CreatedDate = DateTime.Now.Date;
                        //DateTime statis2 = Convert.ToDateTime("1/1/1900");
                        //newdata.ReportAsReadyDate = statis2;
                        //newdata.ApprovedDate = statis2;
                        //newdata.RejectedDate = statis2;
                        //newdata.CanceledDate = statis2;
                        //newdata.CompletedDate = statis2;
                        //newdata.Modified_Date = statis2;

                        //newdata.check_status = HR.Models.Infra.check_status.created;
                        //var username = User.Identity.GetUserName();
                        //var Date = Convert.ToDateTime("1/1/1900");
                        //var s = new status { statu = HR.Models.Infra.check_status.created, created_by = username, Type = Models.Infra.Type.Employee_Payroll_Transactions, approved_bydate = Date, cancaled_bydate = Date, created_bydate = DateTime.Now.Date, Rejected_bydate = Date, return_to_reviewdate = Date };
                        //var st = dbcontext.status.Add(s);
                        //dbcontext.SaveChanges();
                        //newdata.statID = s.ID;

                        //dbcontext.Employee_Payroll_Transactions.Add(newdata);
                        //dbcontext.SaveChanges();
                    }
                }
                return(RedirectToAction("Index", "Employee_Payroll_Transactions"));
            }
            catch (Exception e)
            {
                TempData["Message"] = "Not found this data";
                return(RedirectToAction("Index", "Employee_Payroll_Transactions"));
            }
        }