public void Validate(DeliveryOrderRequest request, out DeliveryOrderResponse response) { response = new DeliveryOrderResponse(); if ((request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString())) || (request.Action != null && request.Action.Equals(ClinicEnums.Action.APPROVE.ToString()))) { if (request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString())) { ValidateForDelete(request, out response); } else { ValidateForApprove(request, out response); } } else { bool isHavePrivilege = true; if (request.Data.donumber == null || String.IsNullOrWhiteSpace(request.Data.donumber)) { errorFields.Add("Gudang Name"); } if (errorFields.Any()) { response.Status = false; response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields)); } if (request.Data.Id == 0) { isHavePrivilege = IsHaveAuthorization(ADD_M_DELIVERYORDER, request.Data.Account.Privileges.PrivilegeIDs); } else { isHavePrivilege = IsHaveAuthorization(EDIT_M_DELIVERYORDER, request.Data.Account.Privileges.PrivilegeIDs); } if (!isHavePrivilege) { response.Status = false; response.Message = Messages.UnauthorizedAccess; } if (response.Status) { response = new DeliveryOrderHandler(_unitOfWork).CreateOrEdit(request); } } }
private void ValidateForApprove(DeliveryOrderRequest request, out DeliveryOrderResponse response) { response = new DeliveryOrderResponse(); if (request.Action == ClinicEnums.Action.APPROVE.ToString()) { bool isHavePrivilege = IsHaveAuthorization(RECIVED_M_DELIVERYORDER, request.Data.Account.Privileges.PrivilegeIDs); if (!isHavePrivilege) { response.Status = false; response.Message = Messages.UnauthorizedAccess; } } if (response.Status) { response = new DeliveryOrderHandler(_unitOfWork).ApproveData(request); } }