public ApprovalAttendanceSchedule GetByApprovalScheduleType(ApprovalScheduleType type) { ApprovalAttendanceSchedule approvalAttendanceScheduleAlias = null; ApprovalAttendanceSchedule item = NHSession.QueryOver(() => approvalAttendanceScheduleAlias) .Where(() => approvalAttendanceScheduleAlias.ApprovalType == type) .List <ApprovalAttendanceSchedule>().SingleOrDefault(); return(item); }
public ApprovalAttendanceSchedule GetByApprovalScheduleTypeAndCostCenter(ApprovalScheduleType type, decimal personID) { Person person = personBusiness.GetByID(personID); if (person.CostCenter != null) { ApprovalAttendanceSchedule approvalAttendanceScheduleAlias = null; ApprovalAttendanceSchedule item = NHSession.QueryOver(() => approvalAttendanceScheduleAlias) .Where(() => approvalAttendanceScheduleAlias.ApprovalType == type && approvalAttendanceScheduleAlias.CostCenter.ID == person.CostCenter.ID) .List <ApprovalAttendanceSchedule>().SingleOrDefault(); return(item); } else { return(null); } }
public HttpResponseMessage Edit(decimal id, OverTimeProxy viewModel) { try { decimal ManagerPersonId; if (viewModel.ManagerPersonId == 0) { ManagerPersonId = BUser.CurrentUser.Person.ID; } else { ManagerPersonId = viewModel.ManagerPersonId; } //------------------------------------------------------------------------ Person person = PersonBusiness.GetByID(ManagerPersonId); //تشخیص اینکه طرف معاون هست یا خیر - جهت اعمال محدودیت زمان بندی تایید به تفکیک مدیران و معاونین ApprovalScheduleType approvalType = ApprovalScheduleType.Manager; var personParamAssistance = person.PersonTASpec.GetParamValue(person.ID, "IsAssistance", DateTime.Now); bool stateAssistance = personParamAssistance != null?Utility.ToInteger(personParamAssistance.Value) > 0 : false; if (stateAssistance) { approvalType = ApprovalScheduleType.Assistance; } OverTimePersonDetailBusiness.UpdateOverTimePersonDetail(id, viewModel, approvalType, ManagerPersonId); return(Request.CreateResponse(HttpStatusCode.OK, viewModel)); } catch (UIValidationExceptions ex) { this.exceptionHandler.ApiHandleException("OverTimePersonController", ex); return(Request.CreateResponse(HttpStatusCode.NotFound, ex.ExceptionList.Count > 0 ? ex.ExceptionList[0].Message : ex.Message)); } catch (Exception ex) { this.exceptionHandler.ApiHandleException("OverTimePersonController", ex); return(Request.CreateResponse(HttpStatusCode.NotFound, ex.Message)); } }