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")); } }
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)); } }