public ActionResult CreateAnalysis([Bind(Prefix = "models")] List <Att_OvertimeModel> attOvertime, [Bind(Prefix = "params")] Att_OvertimeModel model) { Att_OvertimeModel result = new Att_OvertimeModel(); var lstAttOvertime = new List <Att_OvertimeModel>(); if (attOvertime == null || attOvertime.Count() <= 0) { attOvertime = new List <Att_OvertimeModel>(); if (model != null) { attOvertime.Add(model); } } var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); if (attOvertime != null) { var user = Session[SessionObjects.UserId].ToString(); attOvertime.ForEach(s => s.UserRegister = s.UserCreate = s.UserUpdate = s.UserLoginID = user); attOvertime.ForEach(s => s.Host = _hrm_Main_Web); result = service.Post(_Hrm_Hre_Service, "api/Att_Overtime/", attOvertime); } return(Json(result)); }
public Att_OvertimeModel Post([Bind] List <Att_OvertimeModel> lstModel) { ActionService service = new ActionService(UserLogin); Att_ProcessApprovedServices smService = new Att_ProcessApprovedServices(); List <Att_OvertimeEntity> lstSM = new List <Att_OvertimeEntity>(); Att_OvertimeModel result = new Att_OvertimeModel(); foreach (var model in lstModel) { if (model.WorkDateTime != null && model.WorkDateTime.Length < 8) { model.WorkDateTime = model.WorkDateTime + ":00"; } //[Hien.Nguyen] reset hours datetime //model.WorkDate = new DateTime(model.WorkDate.Year, model.WorkDate.Month, model.WorkDate.Day, 12, 0, 0); //model.WorkDate = Common.JoinTimeInDate(model.WorkDate, model.WorkDateTime); model.WorkDateRoot = model.WorkDate; if (model.Status == EnumDropDown.OverTimeStatus.E_APPROVED.ToString() && model.RegisterHours != model.ApproveHours) { model.ApproveHours = model.RegisterHours; } result = service.UpdateOrCreate <Att_OvertimeEntity, Att_OvertimeModel>(model); if (result.ActionStatus == "Success") { lstSM.Add(model.Copy <Att_OvertimeEntity>()); } } smService.GetEmailToSend_Overtime(lstSM, UserLogin); return(result); }
/// <summary> /// Tạo mời một AttOvertime /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult Add([Bind] Att_OvertimeModel model) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); var result = service.Put(_Hrm_Hre_Service, "api/Att_Overtime/", model); return(Json(result)); }
public ActionResult Edit([DataSourceRequest] DataSourceRequest request, Att_OvertimeModel AttOvertime) { if (ModelState.IsValid) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); var result = service.Put(_Hrm_Hre_Service, "api/Att_Overtime/", AttOvertime); ViewBag.MsgUpdate = ConstantDisplay.HRM_Attendance_Overtime_UpdateSuccess.TranslateString(); } return(View()); }
public ActionResult Create(Att_OvertimeModel model) { if (ModelState.IsValid) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); var result = service.Put(_Hrm_Hre_Service, "api/Att_Overtime/", model); ViewBag.MsgInsert = ConstantDisplay.HRM_Attendance_Overtime_CreateSuccess.TranslateString(); } return(View()); }
/// <summary> /// Xử lí lưu xác nhận tăng ca /// </summary> /// <param name="contract"></param> /// <returns></returns> public Att_OvertimeModel Post(IEnumerable <Att_OvertimeModel> listmodel) { Att_OvertimeModel model = new Att_OvertimeModel(); var service = new Att_OvertimeServices(); string result = service.SaveOvertimeConfirm(listmodel.Select(item => new Att_OvertimeEntity { ID = item.ID, ConfirmHours = item.ConfirmHours } )); return(model); }
public ActionResult SetMethodPaymentSelected(List <Guid> selectedIds, string status) { var model = new Att_OvertimeModel(); if (selectedIds != null || selectedIds.Count > 0) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); model.ProfileIds = String.Join(",", selectedIds); model.MethodPayment = status; model = service.Put(_Hrm_Hre_Service, "api/Att_Overtime/", model); } return(Json(model)); }
/// <summary> /// [Hieu.Van] - Lấy dữ liệu theo Id /// </summary> /// <param name="id"></param> /// <returns></returns> public Att_OvertimeModel GetById(Guid id) { string status = string.Empty; var model = new Att_OvertimeModel(); ActionService service = new ActionService(userLogin); var entity = service.GetByIdUseStore <Att_OvertimeEntity>(id, ConstantSql.hrm_att_sp_get_OvertimeById, ref status); if (entity != null) { model = entity.CopyData <Att_OvertimeModel>(); } model.ActionStatus = status; return(model); }
public ActionResult RemoveSelected(List <Guid> selectedIds) { var ot = new Att_OvertimeModel(); if (selectedIds != null || selectedIds.Count > 0) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); foreach (var id in selectedIds) { service.Delete(_Hrm_Hre_Service, "api/Att_Overtime/", id); } } return(Json("")); }
public string Edit(Att_OvertimeModel model) { model = Validate <Att_OvertimeModel>(model, "Att_Overtime"); if (!string.IsNullOrEmpty(model.ActionStatus)) { if (model != null) { ActionService service = new ActionService(UserLogin); service.UpdateOrCreate <Att_OvertimeEntity, Att_OvertimeModel>(model); if (model.ID != Guid.Empty) { return(model.ID.ToString()); } } } return(model.ActionStatus); }
/// <summary> /// Xử lí thay doi trang thai cua overtime /// </summary> /// <param name="contract"></param> /// <returns></returns> public ActionResult SetStatusSelected(string selectedIds, string status) { var ot = new Att_OvertimeModel(); if (selectedIds != null) { var lstSelectedIds = selectedIds.Split(','); var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); foreach (var id in lstSelectedIds) { ot.ID = Guid.Parse(id); ot.Status = status; service.Put(_Hrm_Hre_Service, "api/Att_OvertimeCustom/", ot); } } return(Json("")); }
public ActionResult Edit(Guid id) { if (!CheckPermission()) { return(RedirectToAction("Denied", "Portal")); } string status = string.Empty; var model = new Att_OvertimeModel(); ActionService service = new ActionService(UserLogin); var entity = service.GetByIdUseStore <Att_OvertimeEntity>(id, ConstantSql.hrm_att_sp_get_OvertimeById, ref status); if (entity != null) { model = entity.CopyData <Att_OvertimeModel>(UserLogin); } model.ActionStatus = status; return(GetOnlyView(model)); }
public ActionResult SetAllowOvertimeSelected(List <Guid> selectedIds, string status) { var model = new Att_OvertimeModel(); if (selectedIds != null || selectedIds.Count > 0) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); model.ProfileIds = String.Join(",", selectedIds); if (status == "true") { model.IsNonOvertime = false; } else { model.IsNonOvertime = true; } model = service.Put(_Hrm_Hre_Service, "api/Att_Overtime/", model); } return(Json(model)); }
/// <summary> /// Xử lí thay doi trang thai cua overtime /// </summary> /// <param name="contract"></param> /// <returns></returns> /// public ActionResult SetStatusSelected(List <Guid> selectedIds, string status, string userApproved) { var model = new Att_OvertimeModel(); if (selectedIds != null) { var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); model.ProfileIds = String.Join(",", selectedIds); model.Status = status; Guid Approved = Guid.Empty; Guid.TryParse(userApproved, out Approved); if (Approved == Guid.Empty) { model.ActionStatus = "NoPermission"; return(Json(model)); } model.UserApproveID = Approved; model.UserApproveID2 = Approved; model = service.Put(_Hrm_Hre_Service, "api/Att_Overtime/", model); } return(Json(model)); }
/// <summary> /// [Hieu.Van] Update status /// </summary> /// <param name="model"></param> /// <returns></returns> //[System.Web.Mvc.HttpPost] //[System.Web.Mvc.RouteAttribute("api/Att_Overtime")] public Att_OvertimeModel Put([Bind] Att_OvertimeModel model) { model.ProfileIds = Common.DotNetToOracle(model.ProfileIds); BaseService service = new BaseService(); string status = string.Empty; List <object> lstObj = new List <object>(); if (string.IsNullOrEmpty(model.Status) && string.IsNullOrEmpty(model.MethodPayment)) { lstObj.AddRange(new object[2]); lstObj[0] = model.ProfileIds; lstObj[1] = model.IsNonOvertime; var rs = new List <Att_OvertimeModel>(); rs = service.UpdateData <Att_OvertimeModel>(lstObj, ConstantSql.Att_sp_Set_Overtime_AllowOvertime, ref status); model.ActionStatus = status; return(model); } else { lstObj.AddRange(new object[3]); lstObj[0] = model.ProfileIds; lstObj[1] = model.Status; lstObj[2] = model.MethodPayment; var rs = new List <Att_OvertimeModel>(); if (model.MethodPayment == "E_CASHOUT" || model.MethodPayment == "E_TIMEOFF") { #region Change MethodPayment rs = service.UpdateData <Att_OvertimeModel>(lstObj, ConstantSql.hrm_att_sp_Set_Overtime_Payment, ref status); model.ActionStatus = status; #endregion } else { #region không cho phép duyệt ot cho bản thân var checkConfigApp = service.GetData <Sys_AllSettingModel>(AppConfig.HRM_ATT_OT_DONOTAPPROVEOTMYSELF.ToString(), ConstantSql.hrm_sys_sp_get_AllSettingByKey, UserLogin, ref status); var checkUserLG = service.GetData <Sys_UserModel>(model.UserApproveID, ConstantSql.hrm_sys_sp_get_UserbyId, UserLogin, ref status); bool APPROVEOTMYSELF = false; Guid?ProIDofUserLG = checkUserLG.Select(s => s.ProfileID).FirstOrDefault(); if (ProIDofUserLG != null && ProIDofUserLG != Guid.Empty) { if (checkConfigApp != null && checkConfigApp.Select(s => s.Value1).FirstOrDefault() == bool.TrueString) { APPROVEOTMYSELF = true; } } #endregion #region Change Status var lstCheck = service.GetData <Att_RosterModel>(model.ProfileIds, ConstantSql.hrm_att_sp_get_OvertimeByIds, UserLogin, ref status); if (status == NotificationType.Success.ToString()) { status = ""; } else { model.ActionStatus = status; return(model); } string lstFirstApprove = ""; string lstNormal = ""; foreach (var item in lstCheck) { if (APPROVEOTMYSELF == true && ProIDofUserLG == item.ProfileID) { model.ActionStatus = "NoApproveOTMySelf"; return(model); } if (item.UserApproveID != model.UserApproveID && item.UserApproveID2 != model.UserApproveID2) { model.ActionStatus = "NoPermission"; return(model); } if (model.Status == AttendanceDataStatus.E_APPROVED.ToString()) { if (item.UserApproveID == model.UserApproveID) { lstFirstApprove += Common.DotNetToOracle(item.ID.ToString()) + ","; } if (item.UserApproveID2 == model.UserApproveID2 && (item.Status == AttendanceDataStatus.E_FIRST_APPROVED.ToString() || item.UserApproveID == model.UserApproveID)) { lstNormal += Common.DotNetToOracle(item.ID.ToString()) + ","; } } else if (model.Status == AttendanceDataStatus.E_WAIT_APPROVED.ToString()) { if (item.UserApproveID == model.UserApproveID) { lstNormal += Common.DotNetToOracle(item.ID.ToString()) + ","; } } else { lstNormal += Common.DotNetToOracle(item.ID.ToString()) + ","; } //if (item.UserApproveID2 == model.UserApproveID2 && (item.Status == AttendanceDataStatus.E_FIRST_APPROVED.ToString() || item.UserApproveID == model.UserApproveID)) //{ // lstFirstApprove += Common.DotNetToOracle(item.ID.ToString()) + ","; //} //else //{ // if (item.UserApproveID == model.UserApproveID) // lstNormal += Common.DotNetToOracle(item.ID.ToString()) + ","; //} } if (lstFirstApprove != "") { lstFirstApprove = lstFirstApprove.Substring(0, lstFirstApprove.Length - 1); lstObj[0] = lstFirstApprove; lstObj[1] = AttendanceDataStatus.E_FIRST_APPROVED.ToString(); service.UpdateData <Att_OvertimeModel>(lstObj, ConstantSql.hrm_att_sp_Set_Overtime_Status, ref status); } if (lstNormal != "") { lstNormal = lstNormal.Substring(0, lstNormal.Length - 1); lstObj[0] = lstNormal; lstObj[1] = model.Status; service.UpdateData <Att_OvertimeModel>(lstObj, ConstantSql.hrm_att_sp_Set_Overtime_Status, ref status); } //rs = service.UpdateData<Att_OvertimeModel>(lstObj, ConstantSql.hrm_att_sp_Set_Overtime_Status, ref status); if (status == "") { status = "NoPermission"; } model.ActionStatus = status; #endregion } } return(model); }
public ActionResult Create([Bind(Prefix = "totalRecord")] List <Att_OvertimeModel> TotalAtt_OvertimeModel, [Bind(Prefix = "models")] List <Att_OvertimeModel> updatedAtt_OvertimeModel) { List <Att_OvertimeModel> lstReturn = new List <Att_OvertimeModel>(); Att_OvertimeModel _return = new Att_OvertimeModel(); var service = new RestServiceClient <Att_OvertimeModel>(UserLogin); service.SetCookies(this.Request.Cookies, _Hrm_Hre_Service); if (updatedAtt_OvertimeModel != null) { for (int i = 0; i < updatedAtt_OvertimeModel.Count; i++) { #region [Hien.Nguyen] xử lý gộp time vào datetime //Nếu date == null if (updatedAtt_OvertimeModel[i].InTime == null) { updatedAtt_OvertimeModel[i].InTime = updatedAtt_OvertimeModel[i].WorkDate; //gán bằng với workdate if (updatedAtt_OvertimeModel[i].TempTimeIn != null) //Nếu giờ khác null thì gán giờ vào { updatedAtt_OvertimeModel[i].InTime = new DateTime(updatedAtt_OvertimeModel[i].InTime.Value.Year, updatedAtt_OvertimeModel[i].InTime.Value.Month, updatedAtt_OvertimeModel[i].InTime.Value.Day, int.Parse(updatedAtt_OvertimeModel[i].TempTimeIn.Split(':').ToList()[0]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeIn.Split(new char[] { ':' }).ToList()[1]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeIn.Split(':').ToList()[2])); } } else//Nếu date != null { if (updatedAtt_OvertimeModel[i].TempTimeIn != null)//Nếu time khác null thì gán time vào cho date { updatedAtt_OvertimeModel[i].InTime = new DateTime(updatedAtt_OvertimeModel[i].InTime.Value.Year, updatedAtt_OvertimeModel[i].InTime.Value.Month, updatedAtt_OvertimeModel[i].InTime.Value.Day, int.Parse(updatedAtt_OvertimeModel[i].TempTimeIn.Split(':').ToList()[0]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeIn.Split(':').ToList()[1]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeIn.Split(':').ToList()[2])); } } if (updatedAtt_OvertimeModel[i].OutTime == null) { updatedAtt_OvertimeModel[i].OutTime = updatedAtt_OvertimeModel[i].WorkDate; //gán bằng với workdate if (updatedAtt_OvertimeModel[i].TempTimeOut != null) //Nếu giờ khác null thì gán giờ vào { updatedAtt_OvertimeModel[i].OutTime = new DateTime(updatedAtt_OvertimeModel[i].OutTime.Value.Year, updatedAtt_OvertimeModel[i].OutTime.Value.Month, updatedAtt_OvertimeModel[i].OutTime.Value.Day, int.Parse(updatedAtt_OvertimeModel[i].TempTimeOut.Split(':').ToList()[0]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeOut.Split(':').ToList()[1]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeOut.Split(':').ToList()[2])); } } else { if (updatedAtt_OvertimeModel[i].TempTimeOut != null)//Nếu time khác null thì gán time vào cho date { updatedAtt_OvertimeModel[i].OutTime = new DateTime(updatedAtt_OvertimeModel[i].OutTime.Value.Year, updatedAtt_OvertimeModel[i].OutTime.Value.Month, updatedAtt_OvertimeModel[i].OutTime.Value.Day, int.Parse(updatedAtt_OvertimeModel[i].TempTimeOut.Split(':').ToList()[0]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeOut.Split(':').ToList()[1]), int.Parse(updatedAtt_OvertimeModel[i].TempTimeOut.Split(':').ToList()[2])); } } #endregion #region [Kiet.Chung] Compare lại code bảng 7 update luỹ kế Att_OvertimeModel DataChange = updatedAtt_OvertimeModel[i]; double denta = DataChange.ApproveHours.HasValue ? DataChange.ApproveHours.Value - DataChange.RegisterHours : 0 - DataChange.RegisterHours; List <Att_OvertimeModel> lstUpdate = TotalAtt_OvertimeModel.Where(d => d.ProfileID == DataChange.ProfileID && d.WorkDate.Date >= DataChange.WorkDate.Date).ToList(); foreach (var item in lstUpdate) { if (item.WorkDate == DataChange.WorkDate && item.ID == DataChange.ID) { item.RegisterHours = item.RegisterHours + denta; } if (item.WorkDate.Date == DataChange.WorkDate.Date) { if (item.udHourByDate != null) { item.udHourByDate = item.udHourByDate + denta; } } if (item.WorkDate.Month == DataChange.WorkDate.Month && item.WorkDate.Year == DataChange.WorkDate.Year) { if (item.udHourByMonth != null) { item.udHourByMonth = item.udHourByMonth + denta; } } if (item.WorkDate.Year == DataChange.WorkDate.Year) { if (item.udHourByYear != null) { item.udHourByYear = item.udHourByYear + denta; } } lstReturn.Add(item); } // Cần bind lại Gird sau khi update #endregion } // Lấy nhân viên ko thuộc edit list add vào return List <Guid> _lstProId = lstReturn.Select(s => s.ProfileID).Distinct().ToList(); var temp = TotalAtt_OvertimeModel.Where(d => !_lstProId.Contains(d.ProfileID)).ToList(); if (temp != null && temp.Count > 0) { lstReturn.AddRange(temp); } foreach (var rs in updatedAtt_OvertimeModel) { var lstUp = TotalAtt_OvertimeModel.Where(d => d.ProfileID == rs.ProfileID && d.WorkDate.Date < rs.WorkDate.Date).ToList(); if (lstUp != null && lstUp.Count > 0) { lstReturn.AddRange(lstUp); } } } DataSourceRequest request = new DataSourceRequest() { Page = 1, PageSize = 50 }; return(Json(lstReturn.ToDataSourceResult(request))); }
public ActionResult GetOvertimeList([DataSourceRequest] DataSourceRequest request, Att_OvertimeModel model123) { return(View()); }
public ActionResult Save([Bind(Prefix = "models")] List <Att_OvertimeModel> attOvertime, [Bind(Prefix = "params")] Att_OvertimeModel model) { model = Validate <Att_OvertimeModel>(model, "Att_Overtime"); if (!string.IsNullOrEmpty(model.ActionStatus)) { if (attOvertime == null || attOvertime.Count() <= 0) { attOvertime = new List <Att_OvertimeModel>(); if (model != null) { attOvertime.Add(model); } } if (attOvertime != null) { foreach (var item in attOvertime) { item.WorkDate = Common.JoinTimeInDate(item.WorkDate, item.WorkDateTime); item.WorkDateRoot = item.WorkDate; ActionService service = new ActionService(UserLogin); service.UpdateOrCreate <Att_OvertimeEntity, Att_OvertimeModel>(item); } } } return(Json(attOvertime)); }