public List <string> SendWorkHour(WorkHourJson workHourJson)//JObject jsonObject { UnitOfWork uow = new UnitOfWork(); UserManager userManager = new UserManager(uow); TimeSheetManager WHM = new TimeSheetManager(uow); User currUser = new UserHelper().GetCurrent(); Validations validate = new Validations(); var WorkHour = WHM.GetByID(workHourJson.ID); List <string> result = new List <string>(); result = validate.ValidateRegisterWorkHour(WorkHour); if (result.Count() == 0) { if (WorkHour.WorkflowStage.IsFirst) { WHM.SendWorkHour(WorkHour); HistoryUtilities.RegisterSendHistory(WorkHour); result.Add("ارسال کارکرد با موفقیت انجام گردید"); } } return(result); }
public IActionResult approveDeny(vmApproveDenyRequest request) { try { if (!this.MainChecks(request.ver, out string error)) { throw new Exception(error); } if (request.approveIds.Count == 0 && request.denyIds.Count == 0) { throw new Exception("موردی برای تایید یا رد مشخص نشده است"); } var currentUser = new UserHelper().GetCurrent(this._uow, this.UserName); TimeSheetManager timeSheetManager = new TimeSheetManager(this._uow); if (request.type == 10) { //workhour foreach (var itemForApprove in request.approveIds) { var item = timeSheetManager.GetByID(itemForApprove.id); approveDenyWorkhour(true, currentUser, timeSheetManager, item, itemForApprove.description); } foreach (var itemForDeny in request.denyIds) { var item = timeSheetManager.GetByID(itemForDeny.id); approveDenyWorkhour(false, currentUser, timeSheetManager, item, itemForDeny.description); } } if (request.type == 1) { //ماموریت ساعتی HourlyMissionManager dlm = new HourlyMissionManager(this._uow); foreach (var itemForApprove in request.approveIds) { var dailyLeave = dlm.GetByID(itemForApprove.id); approveDenyHourlyMission(true, currentUser, timeSheetManager, dlm, dailyLeave, itemForApprove.description); } foreach (var itemForDeny in request.denyIds) { var dailyLeave = dlm.GetByID(itemForDeny.id); approveDenyHourlyMission(false, currentUser, timeSheetManager, dlm, dailyLeave, itemForDeny.description); } this._uow.SaveChanges(); } if (request.type == 2) { //مرخصی ساعتی HourlyLeaveManager dlm = new HourlyLeaveManager(this._uow); foreach (var itemForApprove in request.approveIds) { var dailyLeave = dlm.GetByID(itemForApprove.id); approveDenyHourlyLeave(true, currentUser, timeSheetManager, dlm, dailyLeave, itemForApprove.description); } foreach (var itemForDeny in request.denyIds) { var dailyLeave = dlm.GetByID(itemForDeny.id); approveDenyHourlyLeave(false, currentUser, timeSheetManager, dlm, dailyLeave, itemForDeny.description); } this._uow.SaveChanges(); } if (request.type == 3) { //مرخصی روزانه DailyLeaveManager dlm = new DailyLeaveManager(this._uow); foreach (var itemForApprove in request.approveIds) { var dailyLeave = dlm.GetByID(itemForApprove.id); approveDenyDailyLeave(true, currentUser, timeSheetManager, dlm, dailyLeave, itemForApprove.description); } foreach (var itemForDeny in request.denyIds) { var dailyLeave = dlm.GetByID(itemForDeny.id); approveDenyDailyLeave(false, currentUser, timeSheetManager, dlm, dailyLeave, itemForDeny.description); } this._uow.SaveChanges(); } return(Ok(new { message = "عملیات تایید با موفقیت انجام گردید" })); } catch (Exception ex) { return(this.ReturnError(ex, "خطا در ذخیره تایید و رد ها")); } }