public IActionResult CheckDuplicateShipmentSettlement(CheckDuplicateShipmentSettlementCriteria criteria) { var data = acctSettlementPaymentService.CheckDuplicateShipmentSettlement(criteria); ResultHandle result = new ResultHandle { Status = data.Status, Message = data.Message }; return(Ok(result)); }
public IActionResult SaveAndSendRequest(CreateUpdateSettlementModel model) { if (!ModelState.IsValid) { return(BadRequest()); } HandleState hs; //Check duplicate if (model.ShipmentCharge.Count > 0) { foreach (var item in model.ShipmentCharge) { var shipment = new CheckDuplicateShipmentSettlementCriteria { SurchargeID = item.Id, ChargeID = item.ChargeId, TypeCharge = item.Type, HBLID = item.Hblid, Partner = item.Type.Equals(AccountingConstants.TYPE_CHARGE_BUY) ? item.PaymentObjectId : item.PayerId, CustomNo = item.ClearanceNo, InvoiceNo = item.InvoiceNo, ContNo = item.ContNo, MBLNo = item.MBL, HBLNo = item.HBL, JobNo = item.JobId }; var _checkDuplicate = acctSettlementPaymentService.CheckDuplicateShipmentSettlement(shipment); if (_checkDuplicate.Status) { ResultHandle _result = new ResultHandle { Status = false, Message = _checkDuplicate.Message }; return(BadRequest(_result)); } } } else { ResultHandle _result = new ResultHandle { Status = false, Message = "Settlement Payment don't have any charge in this period, Please check it again!" }; return(BadRequest(_result)); } //Check exist thông tin Manager, Accountant của User requester AcctApproveSettlementModel settlementAppr = new AcctApproveSettlementModel { Requester = model.Settlement.Requester }; var isExistsManager = acctSettlementPaymentService.CheckExistsInfoManagerOfRequester(settlementAppr); if (!isExistsManager.Success) { ResultHandle _result = new ResultHandle { Status = false, Message = isExistsManager.Exception.Message }; return(BadRequest(_result)); } if (string.IsNullOrEmpty(model.Settlement.SettlementNo))//Insert Settlement Payment { model.Settlement.StatusApproval = AccountingConstants.STATUS_APPROVAL_REQUESTAPPROVAL; hs = acctSettlementPaymentService.AddSettlementPayment(model); if (hs.Code == 403) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } } else //Update Settlement Payment { var isAllowUpdate = acctSettlementPaymentService.CheckUpdatePermissionBySettlementId(model.Settlement.Id); if (isAllowUpdate == false) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } if (!model.Settlement.StatusApproval.Equals(AccountingConstants.STATUS_APPROVAL_NEW) && !model.Settlement.StatusApproval.Equals(AccountingConstants.STATUS_APPROVAL_DENIED)) { ResultHandle _result = new ResultHandle { Status = false, Message = "Only allowed to edit the settlement payment status is New or Deny" }; return(BadRequest(_result)); } model.Settlement.StatusApproval = AccountingConstants.STATUS_APPROVAL_REQUESTAPPROVAL; hs = acctSettlementPaymentService.UpdateSettlementPayment(model); if (hs.Code == 403) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } } var message = HandleError.GetMessage(hs, Crud.Insert); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value, Data = model }; if (hs.Success) { AcctApproveSettlementModel approve = new AcctApproveSettlementModel { SettlementNo = model.Settlement.SettlementNo, Requester = model.Settlement.Requester }; var resultInsertUpdateApprove = acctSettlementPaymentService.InsertOrUpdateApprovalSettlement(approve); if (!resultInsertUpdateApprove.Success) { ResultHandle _result = new ResultHandle { Status = false, Message = resultInsertUpdateApprove.Exception.Message }; return(BadRequest(_result)); } return(Ok(result)); } else { return(BadRequest(result)); } }
public IActionResult Update(CreateUpdateSettlementModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var isAllowUpdate = acctSettlementPaymentService.CheckUpdatePermissionBySettlementId(model.Settlement.Id); if (isAllowUpdate == false) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } //Đã check bên trong function UpdateSettlementPayment //if (!model.Settlement.StatusApproval.Equals(Constants.STATUS_APPROVAL_NEW) && !model.Settlement.StatusApproval.Equals(Constants.STATUS_APPROVAL_DENIED)) //{ // ResultHandle _result = new ResultHandle { Status = false, Message = "Only allowed to edit the settlement payment status is New or Deny" }; // return Ok(_result); //} //Check duplicate if (model.ShipmentCharge.Count > 0) { foreach (var item in model.ShipmentCharge) { var shipment = new CheckDuplicateShipmentSettlementCriteria { SurchargeID = item.Id, ChargeID = item.ChargeId, TypeCharge = item.Type, HBLID = item.Hblid, Partner = item.Type.Equals(AccountingConstants.TYPE_CHARGE_BUY) ? item.PaymentObjectId : item.PayerId, CustomNo = item.ClearanceNo, InvoiceNo = item.InvoiceNo, ContNo = item.ContNo, MBLNo = item.MBL, HBLNo = item.HBL, JobNo = item.JobId }; var _checkDuplicate = acctSettlementPaymentService.CheckDuplicateShipmentSettlement(shipment); if (_checkDuplicate.Status) { ResultHandle _result = new ResultHandle { Status = false, Message = _checkDuplicate.Message }; return(BadRequest(_result)); } } } else { ResultHandle _result = new ResultHandle { Status = false, Message = "Settlement Payment don't have any charge in this period, Please check it again!" }; return(BadRequest(_result)); } var hs = acctSettlementPaymentService.UpdateSettlementPayment(model); if (hs.Code == 403) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } var message = HandleError.GetMessage(hs, Crud.Update); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value, Data = model }; if (!hs.Success) { return(BadRequest(result)); } return(Ok(result)); }
public IActionResult Add(CreateUpdateSettlementModel model) { if (!ModelState.IsValid) { return(BadRequest()); } //Check duplicate if (model.ShipmentCharge.Count > 0) { foreach (var item in model.ShipmentCharge) { var shipment = new CheckDuplicateShipmentSettlementCriteria { SurchargeID = item.Id, ChargeID = item.ChargeId, TypeCharge = item.Type, HBLID = item.Hblid, Partner = item.Type.Equals(AccountingConstants.TYPE_CHARGE_BUY) ? item.PaymentObjectId : item.PayerId, CustomNo = item.ClearanceNo, InvoiceNo = item.InvoiceNo, ContNo = item.ContNo, MBLNo = item.MBL, HBLNo = item.HBL, JobNo = item.JobId }; var _checkDuplicate = acctSettlementPaymentService.CheckDuplicateShipmentSettlement(shipment); if (_checkDuplicate.Status) { ResultHandle _result = new ResultHandle { Status = false, Message = _checkDuplicate.Message }; return(BadRequest(_result)); } } } else { ResultHandle _result = new ResultHandle { Status = false, Message = "Settlement Payment don't have any charge in this period, Please check it again!" }; return(BadRequest(_result)); } var hs = acctSettlementPaymentService.AddSettlementPayment(model); if (hs.Code == 403) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } var message = HandleError.GetMessage(hs, Crud.Insert); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value, Data = model }; if (!hs.Success) { return(BadRequest(result)); } return(Ok(result)); }