예제 #1
0
        public ActionResult create()
        {
            try
            {
                ViewBag.Employee_Profile = dbcontext.Employee_Profile.Where(a => a.Active == true).ToList().Select(m => new { Code = m.Code + "-[" + m.Name + ']', ID = m.ID });
                var Statis = DateTime.Now;
                //var new_record = new TimeManagement_EmployeeTimeAttendanceTransaction_Header ();
                var stru   = dbcontext.StructureModels.FirstOrDefault(m => m.All_Models == ChModels.Personnel).Structure_Code;
                var model_ = dbcontext.TimeManagement_EmployeeTimeAttendanceTransaction_Header.ToList();
                //if (model_.Count() == 0)
                //{
                //    new_record.TransactionNumber = stru + "1";
                //}
                //else
                //{
                //    new_record.TransactionNumber = stru + (model_.LastOrDefault().ID + 1).ToString();
                //}
                var statis = DateTime.Now;
                var model  = new TimeManagement_EmployeeTimeAttendanceTransaction_Header {
                    EffectiveYear = Convert.ToInt32(statis.Year), EffectiveMonth = Convert.ToInt32(statis.Month)
                };

                return(View(model));
            }
            catch (Exception)
            {
                return(RedirectToAction("index"));
            }
        }
예제 #2
0
        public ActionResult Create(TimeManagement_EmployeeTimeAttendanceTransaction_Header model, FormCollection form)
        {
            try
            {
                var LocationCode  = form["Location_Code"].Split(',');
                var WorkingSystem = form["Working_System"].Split(',');
                var ShiftCode     = form["Shift_Code"].Split(',');
                ViewBag.Employee_Profile          = dbcontext.Employee_Profile.Where(a => a.Active == true).ToList().Select(m => new { Code = m.Code + "-[" + m.Name + ']', ID = m.ID });
                ViewBag.ManualPaymentTypes_Header = dbcontext.ManualPaymentTypes_Header.ToList().Select(m => new { Code = m.PaymentTypeCode + "-[" + m.PaymentTypeDesc + ']', ID = m.ID });
                TimeManagement_EmployeeTimeAttendanceTransaction_Header new_Record = new TimeManagement_EmployeeTimeAttendanceTransaction_Header();
                new_Record.Employee_Code  = model.Employee_Code;
                new_Record.EffectiveMonth = model.EffectiveMonth;
                new_Record.EffectiveYear  = model.EffectiveYear;
                if (LocationCode[0] != "")
                {
                    var locat = LocationCode[0];
                    var loc   = dbcontext.work_location.FirstOrDefault(a => a.Name == locat);
                    new_Record.Location_Code = loc.Code;
                }
                if (WorkingSystem[0] != "")
                {
                    var working = WorkingSystem[0];
                    var Day     = "Day";
                    var shift8  = "shift -8 Hours";
                    var shift12 = "shift -12 Hours";
                    if (Day == working)
                    {
                        new_Record.Working_System = 1;
                    }
                    else if (shift8 == working)
                    {
                        new_Record.Working_System = 2;
                    }
                    else if (shift12 == working)
                    {
                        new_Record.Working_System = 3;
                    }
                }
                if (ShiftCode[0] != "")
                {
                    var shift = ShiftCode[0];
                    var sh    = dbcontext.Shift_setup.FirstOrDefault(a => a.Name == shift);
                    new_Record.Shift_Code = sh.Code;
                }
                DateTime statis2 = Convert.ToDateTime("1/1/1900");
                new_Record.CreatedDate       = DateTime.Now.Date;
                new_Record.CreatedBy         = User.Identity.Name;
                new_Record.ReportAsReadyDate = statis2;
                new_Record.ApprovedDate      = statis2;
                new_Record.RejectedDate      = statis2;
                new_Record.CanceledDate      = statis2;
                new_Record.ClosedDate        = statis2;
                new_Record.Modified_Date     = statis2;
                new_Record.Created_By        = User.Identity.Name;
                new_Record.Created_Date      = DateTime.Now.Date;

                new_Record.check_status = HR.Models.Infra.check_status.created;
                new_Record.name_state   = nameof(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.ManualPaymentTransactionEntry, 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();
                new_Record.statID = s.ID;

                var Header = dbcontext.TimeManagement_EmployeeTimeAttendanceTransaction_Header.Add(new_Record);
                dbcontext.SaveChanges();

                ///////////////////
                var ID                  = form["ID"].Split(',');
                var AttendDate          = form["AttendDate"].Split(',');
                var week                = form["week"].Split(',');
                var fromtime            = form["fromtime"].Split(',');
                var totime              = form["totime"].Split(',');
                var worklocationcode    = form["worklocationcode"].Split(',');
                var worklocationDes     = form["worklocationDes"].Split(',');
                var LocationCodes       = form["LocationCode"].Split(',');
                var tmcode              = form["tmcode"].Split(',');
                var tmdes               = form["tmdes"].Split(',');
                var LocationDescription = form["LocationDescription"].Split(',');
                var ShiftCodes          = form["ShiftCode"].Split(',');
                var ShiftDescription    = form["ShiftDescription"].Split(',');
                var from_time           = form["from_time"].Split(',');
                var to_time             = form["to_time"].Split(',');
                var empsta              = form["empsta"].Split(',');
                var staref              = form["staref"].Split(',');
                var activ               = form["activ"].Split(',');
                var worksys             = form["worksys"].Split(',');
                var comm                = form["comm"].Split(',');
                var proqty              = form["proqty"].Split(',');
                var damqty              = form["damqty"].Split(',');
                var ches                = form["che"].Split(',');//
                var ret                 = new List <uoi>();
                for (var ck = 0; ck < ID.Length; ck++)
                {
                    if (ID[ck] != "")
                    {
                        bool chbool = false;
                        ret.Add(new uoi {
                            check = chbool
                        });
                    }
                }
                var Cht = new List <uoi>();
                for (var chs = 0; chs < ches.Count(); chs++)
                {
                    if (ches[chs] != "")
                    {
                        ret[int.Parse(ches[chs]) - 1].check = true;
                    }
                }


                for (var i = 0; i < ret.Count(); i++)
                {
                    if (ID[i] != "")
                    {
                        var f_t         = Convert.ToDateTime(fromtime[i]).TimeOfDay;
                        var t_t         = Convert.ToDateTime(totime[i]).TimeOfDay;
                        var timeinafter = Convert.ToDateTime(from_time[i]).TimeOfDay;
                        var timoutafter = Convert.ToDateTime(to_time[i]).TimeOfDay;
                        var isoffical   = Convert.ToBoolean(ret[i].check);
                        var empstatus   = short.Parse(empsta[i]);
                        var worksy      = short.Parse(worksys[i]);
                        var pro         = double.Parse(proqty[i]);
                        var dam         = double.Parse(damqty[i]);

                        var new_details = new TimeManagement_EmployeeTimeAttendanceTransaction_Detail
                        {
                            TransactionNumber  = Header.ID.ToString(), Created_By = User.Identity.Name, Created_Date = DateTime.Now.Date, AttendanceDate = DateTime.Parse(AttendDate[i]),
                            Employee_Code      = Header.Employee_Code, EffectiveMonth = Header.EffectiveMonth, EffectiveYear = Header.EffectiveYear,
                            TimeIn             = f_t, TimeOut = t_t, IsCalling = isoffical, TimeInAfterCalling = timeinafter, TimeOutAfterCalling = timoutafter,
                            StatusRefrenceCode = staref[i], EmployeeStatus = empstatus, DayStatus_Code = worklocationcode [i],
                            Activity           = activ[i], Location_Code = LocationCodes[i], TM_Location_Code = tmcode[i],
                            Working_System     = worksy, Shift_Code = ShiftCodes [i], Comments = comm[i], ProductivityQtyValue = pro, DamagedQtyValue = dam
                        };
                        dbcontext.TimeManagement_EmployeeTimeAttendanceTransaction_Detail.Add(new_details);
                        dbcontext.SaveChanges();
                    }
                }

                ////////////////
                return(RedirectToAction("index"));
            }
            catch (Exception e)
            {
                return(View(model));
            }
        }