public InternalDeliveryUpdateRequest(InternalDeliveryUpdateModel model) : base(model)
 {
     RecordNo         = model.RecordNo;
     RecordDate       = model.RecordDate.ConvertToString();
     Reason           = model.Reason;
     FileOfRecord     = model.FileOfRecord;
     FileNameOfRecord = model.FileNameOfRecord;
 }
Пример #2
0
        /// <summary>
        ///     Cập nhật 1 hóa đơn chưa ký hoặc thay thế 1 hóa đơn đã ký trên hệ thống
        /// </summary>
        /// <param name="authentication"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public MessageResult DeliveryUpdate(Authentication authentication,
                                            InternalDeliveryUpdateModel model)
        {
            MessageResult result = new MessageResult();

            try
            {
                var token = GetToken(authentication);

                if (!string.IsNullOrEmpty(token))
                {
                    string apiLink = $"{authentication.DomainName}/api/interval-delivery/update/{model.ReferenceId}";

                    InternalDeliveryUpdateRequest request = new InternalDeliveryUpdateRequest(model);

                    List <InternalDeliveryDetail> invoiceDetails = new List <InternalDeliveryDetail>();
                    if (model.Details != null)
                    {
                        invoiceDetails.AddRange(model.Details.Select(c => new InternalDeliveryDetail(c)));
                    }

                    request.Details = invoiceDetails;

                    var rawResponse = AppUtil.CreateRequest(apiLink,
                                                            request.ToJson(),
                                                            token,
                                                            MethodType.PUT);
                    var response = rawResponse.ToObject <BaseResponse <InternalDeliveryUpdateResponse> >();
                    if (response != null)
                    {
                        result.Code      = response.Code;
                        result.Succeeded = response.Succeeded;
                        result.Data      = response.Data;
                    }
                }
                else
                {
                    result.CannotLogin();
                }
            }
            catch (Exception)
            {
                result.ErrorApi();
            }

            return(result);
        }