Beispiel #1
0
        public ShipmentDataResponse UpdateShipmentStatusById(ShipmentDataRequest shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                ShipmentDataRequest data = this.context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                data.ID         = shipmentDataRequest.ID;
                data.WFL_ID     = shipmentDataRequest.WFL_ID;
                data.SMT_STA_NR = shipmentDataRequest.SMT_STA_NR;
                this.context.shipmentDataRequests.Update(data);
                this.context.Entry(shipmentDataRequest).State = EntityState.Detached;
                this.context.SaveChanges();
                shipmentDataResponse.ShipmentDataRequest = this.context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                shipmentDataResponse.Success             = true;
                return(shipmentDataResponse);
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }

            return(shipmentDataResponse);
        }
Beispiel #2
0
        public ShipmentDataResponse UpdateShipmentAddressById(ShipmentDataRequest shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();

                using (var context = new ApplicationDbContext(optionsBuilder.Options))
                {
                    ShipmentDataRequest data = context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                    int?shipmentStaus        =
                        data.SHP_ADR_TR_TE.ToLower() != shipmentDataRequest.SHP_ADR_TR_TE.ToLower()
                       ? ((int)Enums.ATStatus.Curated)
                       : (data.SMT_STA_NR);

                    data.SHP_ADR_TR_TE = shipmentDataRequest.SHP_ADR_TR_TE;
                    data.COD_TE        = shipmentDataRequest.COD_TE;
                    data.POD_RTN_SVC   = shipmentDataRequest.POD_RTN_SVC;
                    data.SMT_STA_NR    = shipmentStaus;
                    context.shipmentDataRequests.Update(data);
                    context.Entry(shipmentDataRequest).State = EntityState.Detached;
                    context.SaveChanges();
                    shipmentDataResponse.ShipmentDataRequest = context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                    shipmentDataResponse.Success             = true;
                    return(shipmentDataResponse);
                }
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }
            return(shipmentDataResponse);
        }
Beispiel #3
0
        public ShipmentDataResponse DeleteShipment(ShipmentDataRequest shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();


                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();

                var context = new ApplicationDbContext(optionsBuilder.Options);

                ShipmentDataRequest data = context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                context.shipmentDataRequests.Remove(data);
                context.Entry(shipmentDataRequest).State = EntityState.Deleted;
                context.SaveChanges();
                shipmentDataResponse.Shipments = context.shipmentDataRequests;
                shipmentDataResponse.Success   = true;
                return(shipmentDataResponse);
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }
            return(shipmentDataResponse);
        }
Beispiel #4
0
        public ShipmentDataResponse UpdateShipmentStatusById(ShipmentDataRequest shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();
                optionsBuilder.EnableSensitiveDataLogging(true);

                using (var context = new ApplicationDbContext(optionsBuilder.Options))
                {
                    ShipmentDataRequest data = context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                    data.ID         = shipmentDataRequest.ID;
                    data.WFL_ID     = shipmentDataRequest.WFL_ID;
                    data.SMT_STA_NR = shipmentDataRequest.SMT_STA_NR;
                    context.shipmentDataRequests.Update(data);
                    context.Entry(shipmentDataRequest).State = EntityState.Detached;
                    context.SaveChanges();
                    shipmentDataResponse.ShipmentDataRequest = context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                    shipmentDataResponse.Success             = true;
                    return(shipmentDataResponse);
                }
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }
            return(shipmentDataResponse);
        }
        public async Task <ActionResult> DeleteShipments([FromBody] List <ShipmentDataRequest> shipmentDataRequests)
        {
            //ShipmentService shipmentService = new ShipmentService();
            ShipmentDataResponse shipmentDataResponse = _shipmentService.DeleteShipments(shipmentDataRequests);

            return(Ok(shipmentDataResponse));
        }
 public ShipmentDataResponse GetCompletedShipments(int wid)
 {
     shipmentDataResponse = this._shipperCompanyService.SelectCompletedShipments(wid);
     if (!shipmentDataResponse.Success)
     {
         //AuditEventEntry.WriteEntry(new Exception(shipmentDataResponse.OperationExceptionMsg));
     }
     return(shipmentDataResponse);
 }
        public async Task <ActionResult> UpdateShipmentStatusById([FromBody] ShipmentDataRequest shipmentDataRequest)
        {
            //shipmentService = new ShipmentService();
            ShipmentDataResponse shipmentDataResponse = _shipmentService.UpdateShipmentStatusById(shipmentDataRequest);

            if (!shipmentDataResponse.Success)
            {
                //AuditEventEntry.WriteEntry(new Exception(shipmentDataResponse.OperationExceptionMsg));
            }
            return(Ok(shipmentDataResponse));
        }
Beispiel #8
0
        public async Task <ActionResult> UpdateShipmentAddressById([FromBody] ShipmentDataRequest shipmentDataRequest)
        {
            shipmentService = new ShipmentService();
            ShipmentDataResponse shipmentDataResponse = shipmentService.UpdateShipmentAddressById(shipmentDataRequest);

            //we need to update the workflow status
            int?workflowstatus = shipmentService.SelectShipmentTotalStatusByWorkflowId(shipmentDataRequest.WFL_ID);
            WorkflowDataRequest workflowDataRequest = new WorkflowDataRequest();

            workflowDataRequest.ID         = shipmentDataRequest.WFL_ID;
            workflowDataRequest.WFL_STA_TE = workflowstatus;
            workflowService.UpdateWorkflowStatusById(workflowDataRequest);

            return(Ok(shipmentDataResponse));
        }
Beispiel #9
0
        public ShipmentDataResponse GetMatchedShipmentsWithShipperCompanies(int wid)
        {
            ShipperCompnayService shipperCompanyService = new ShipperCompnayService();

            shipmentDataResponse = shipperCompanyService.SelectMatchedShipmentsWithShipperCompanies(wid);
            if (!shipmentDataResponse.Success)
            {
                AuditEventEntry.WriteEntry(new Exception(shipmentDataResponse.OperationExceptionMsg));
            }
            //else
            //{
            //    var json = JsonConvert.SerializeObject(shipmentDataResponse.Shipments).ToString();
            //    AuditEventEntry.WriteEntry(new Exception(json));
            //}
            return(shipmentDataResponse);
        }
Beispiel #10
0
        //public ShipmentDataResponse UpdateShipmentAddressByIds(List<ShipmentDataRequest> shipmentDataRequest)
        //{
        //    ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();
        //    try
        //    {
        //        optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();


        //        optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();

        //        var this.context = new ApplicationDbContext(optionsBuilder.Options);

        //        List<ShipmentDataRequest> shipmentDetailsToUpdate = new List<ShipmentDataRequest>();
        //        foreach (ShipmentDataRequest request in shipmentDataRequest)
        //        {
        //            ShipmentDataRequest data = this.context.shipmentDataRequests.Where(s => s.ID == request.ID).FirstOrDefault();
        //            data.ID = request.ID;
        //            data.WFL_ID = request.WFL_ID;
        //            data.SHP_ADR_TR_TE = request.SHP_ADR_TR_TE;
        //            data.SMT_STA_NR = request.SMT_STA_NR;
        //            data.ACY_TE = request.ACY_TE;
        //            data.CON_NR = request.CON_NR;
        //            data.POD_RTN_SVC = request.POD_RTN_SVC;
        //            shipmentDetailsToUpdate.Add(data);
        //            //this.context.shipmentDataRequests.Update(data);
        //            //this.context.Entry(request).State = EntityState.Detached;
        //            //this.context.SaveChanges();
        //            shipmentDataResponse.Shipments = this.context.shipmentDataRequests;
        //        }
        //        this.context.BulkUpdate(shipmentDetailsToUpdate);
        //        //shipmentDataResponse.Shipments = this.context.shipmentDataRequests;
        //        shipmentDataResponse.Success = true;
        //        return shipmentDataResponse;
        //    }
        //    catch (Exception ex)
        //    {
        //        shipmentDataResponse.Success = false;
        //        shipmentDataResponse.OperationExceptionMsg = ex.Message;
        //    }
        //    return shipmentDataResponse;
        //}

        public ShipmentDataResponse DeleteShipments(List <ShipmentDataRequest> shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                int?workflowID    = shipmentDataRequest?.FirstOrDefault().WFL_ID;
                int shipmentCount = 0;

                foreach (ShipmentDataRequest request in shipmentDataRequest)
                {
                    ShipmentDataRequest data = this.context.shipmentDataRequests.Where(s => s.ID == request.ID).FirstOrDefault();
                    this.context.shipmentDataRequests.Remove(data);
                    this.context.Entry(request).State = EntityState.Detached;
                    this.context.SaveChanges();
                }

                if (workflowID.HasValue)
                {
                    shipmentCount = this.context.shipmentDataRequests.Where(ship => ship.WFL_ID == workflowID).Count();
                }

                if (shipmentCount == 0)
                {
                    WorkflowService      workflowService      = new WorkflowService(this.context, this.addressBookService, this.entityValidationService);
                    WorkflowDataResponse workflowDataResponse = workflowService.DeleteWorkflowById(workflowID.Value);
                    if (workflowDataResponse.Success)
                    {
                        shipmentDataResponse.HasWorkflow = false;
                    }
                }
                else
                {
                    shipmentDataResponse.HasWorkflow = true;
                }

                shipmentDataResponse.Success = true;
                return(shipmentDataResponse);
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }
            return(shipmentDataResponse);
        }
Beispiel #11
0
        public ShipmentDataResponse CreateShipments(List <ExcelDataObject> excelDataObjects, int workflowID, string addressBookEnable, out int?workflowStatus)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            workflowStatus = 0;
            try
            {
                List <ShipmentDataRequest> shipmentDataRequest = ExtractShipmentDataRequest(excelDataObjects, workflowID, addressBookEnable, out workflowStatus);
                shipmentDataResponse         = CreateShipments(shipmentDataRequest);
                shipmentDataResponse.Success = true;
                return(shipmentDataResponse);
            }
            catch (Exception exception)
            {
                shipmentDataResponse.OperationExceptionMsg = exception.Message;
                shipmentDataResponse.Success = true;
                //AuditEventEntry.WriteEntry(new Exception(exception.Message));
            }
            return(shipmentDataResponse);
        }
Beispiel #12
0
        public ShipmentDataResponse DeleteShipment(ShipmentDataRequest shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                ShipmentDataRequest data = this.context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                this.context.shipmentDataRequests.Remove(data);
                this.context.Entry(shipmentDataRequest).State = EntityState.Deleted;
                this.context.SaveChanges();
                shipmentDataResponse.Shipments = this.context.shipmentDataRequests;
                shipmentDataResponse.Success   = true;
                return(shipmentDataResponse);
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }
            return(shipmentDataResponse);
        }
Beispiel #13
0
        public ShipmentDataResponse UpdateShipmentAddressByIds(List <ShipmentDataRequest> shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();


                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();

                var context = new ApplicationDbContext(optionsBuilder.Options);

                foreach (ShipmentDataRequest request in shipmentDataRequest)
                {
                    ShipmentDataRequest data = context.shipmentDataRequests.Where(s => s.ID == request.ID).FirstOrDefault();
                    data.ID            = request.ID;
                    data.WFL_ID        = request.WFL_ID;
                    data.SHP_ADR_TR_TE = request.SHP_ADR_TR_TE;
                    data.SMT_STA_NR    = request.SMT_STA_NR;
                    data.ACY_TE        = request.ACY_TE;
                    data.CON_NR        = request.CON_NR;
                    data.POD_RTN_SVC   = request.POD_RTN_SVC;
                    context.shipmentDataRequests.Update(data);
                    context.Entry(request).State = EntityState.Detached;
                    context.SaveChanges();
                    shipmentDataResponse.Shipments = context.shipmentDataRequests;
                }
                shipmentDataResponse.Success = true;
                return(shipmentDataResponse);
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }
            return(shipmentDataResponse);
        }
        public IActionResult GetMatchedShipmentsWithShipperCompanies(int wid)
        {
            string id = HttpContext.User.Claims.FirstOrDefault(x => x.Type == JwtConstant.UserId)?.Value;

            if (string.IsNullOrEmpty(id))
            {
                return(Unauthorized());
            }

            int userId = Convert.ToInt32(id);

            shipmentDataResponse = this._shipperCompanyService.SelectMatchedShipmentsWithShipperCompanies(wid, userId);
            if (!shipmentDataResponse.Success)
            {
                //AuditEventEntry.WriteEntry(new Exception(shipmentDataResponse.OperationExceptionMsg));
            }
            //else
            //{
            //    var json = JsonConvert.SerializeObject(shipmentDataResponse.Shipments).ToString();
            //    AuditEventEntry.WriteEntry(new Exception(json));
            //}
            return(Ok(shipmentDataResponse));
        }
Beispiel #15
0
        public ShipmentDataResponse CreateShipments(List <ShipmentDataRequest> shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                List <ShipmentDataRequest> validEntities =
                    this.entityValidationService.FilterValidEntity <ShipmentDataRequest>(shipmentDataRequest);

                if (validEntities != null && validEntities.Any())
                {
                    this.context.BulkInsert(validEntities);
                    shipmentDataResponse.Shipments = shipmentDataRequest; //this.context.shipmentDataRequests.ToList();
                    shipmentDataResponse.Success   = true;
                }

                return(shipmentDataResponse);
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
Beispiel #16
0
        public ShipmentDataResponse UpdateShipmentAddressById(ShipmentDataRequest shipmentDataRequest)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                //Shipment Update
                ShipmentDataRequest data = this.context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();

                string beforeAddress = data.SHP_ADR_TR_TE;
                int?   shipmentStaus =
                    data.SHP_ADR_TR_TE.ToLower() != shipmentDataRequest.SHP_ADR_TR_TE.ToLower()
                   ? ((int)Enums.ATStatus.Curated)
                   : (data.SMT_STA_NR);

                data.SHP_ADR_TR_TE = shipmentDataRequest.SHP_ADR_TR_TE;
                data.COD_TE        = shipmentDataRequest.COD_TE;
                data.POD_RTN_SVC   = shipmentDataRequest.POD_RTN_SVC;
                data.SMT_STA_NR    = shipmentStaus;

                switch (shipmentStaus)
                {
                case 0:
                    shipmentDataRequest.SMT_STA_TE = "Uploaded";
                    break;

                case 1:
                    shipmentDataRequest.SMT_STA_TE = "Curated";
                    break;

                case 2:
                    shipmentDataRequest.SMT_STA_TE = "Translated";
                    break;

                case 3:
                    shipmentDataRequest.SMT_STA_TE = "Completed";
                    break;

                case 4:
                    shipmentDataRequest.SMT_STA_TE = "Inactive";
                    break;

                default:
                    shipmentDataRequest.SMT_STA_TE = "Uploaded";
                    break;
                }

                this.context.shipmentDataRequests.Update(data);
                this.context.Entry(shipmentDataRequest).State = EntityState.Detached;
                this.context.SaveChanges();
                shipmentDataResponse.ShipmentDataRequest = this.context.shipmentDataRequests.Where(s => s.ID == shipmentDataRequest.ID).FirstOrDefault();
                shipmentDataResponse.Success             = true;
                shipmentDataResponse.BeforeAddress       = string.Empty;
                if (!string.Equals(beforeAddress, data.SHP_ADR_TR_TE))
                {
                    shipmentDataResponse.BeforeAddress = beforeAddress;
                    if (shipmentDataRequest.RCV_ADR_TE != null)
                    {
                        var matchedShipments = this.context.shipmentDataRequests.Where(s => s.RCV_ADR_TE == shipmentDataRequest.RCV_ADR_TE).ToList();
                        if (matchedShipments.Any())
                        {
                            matchedShipments.ForEach(shipment =>
                            {
                                shipment.SHP_ADR_TR_TE = data.SHP_ADR_TR_TE;
                                shipment.SMT_STA_NR    = shipmentStaus;
                            });

                            this.context.BulkUpdate(matchedShipments);
                        }


                        List <AddressBook> addressBookElements = this.context.AddressBooks.Where(s => s.ConsigneeAddress == shipmentDataRequest.RCV_ADR_TE).ToList();

                        if (addressBookElements.Any())
                        {
                            addressBookElements.FirstOrDefault().ConsigneeTranslatedAddress = data.SHP_ADR_TR_TE;
                            addressBookElements.FirstOrDefault().ModifiedDate = DateTime.Parse(DateTime.Now.ToString()).ToLocalTime();

                            this.context.BulkUpdate(addressBookElements);
                        }
                    }
                }
                return(shipmentDataResponse);
            }
            catch (Exception ex)
            {
                shipmentDataResponse.Success = false;
                shipmentDataResponse.OperationExceptionMsg = ex.Message;
            }

            return(shipmentDataResponse);
        }
Beispiel #17
0
        //[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
        //[HttpPost]
        public ShipmentDataResponse CreateShipments(List <ExcelDataObject> excelDataObjects, int workflowID)
        {
            //int i = 0;
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                List <ShipmentDataRequest> shipmentData = new List <ShipmentDataRequest>();
                foreach (ExcelDataObject excelDataObject in excelDataObjects)
                {
                    bool allPropertiesNull = !excelDataObject.GetType().GetProperties().Any(prop => prop == null);
                    if (allPropertiesNull)
                    {
                        ShipmentDataRequest shipmentDataRequest = new ShipmentDataRequest();

                        if (!string.IsNullOrWhiteSpace(excelDataObject.S_shipmentno))
                        {
                            shipmentDataRequest.BIL_TYP_TE = excelDataObject.S_billtype;
                            shipmentDataRequest.CCY_VAL_TE = string.Empty;
                            shipmentDataRequest.COD_TE     = string.Empty;
                            shipmentDataRequest.CSG_CTC_TE = excelDataObject.S_cneectc;

                            decimal decimalvalue = 0;
                            shipmentDataRequest.DIM_WGT_DE = 0;
                            if (!string.IsNullOrEmpty(excelDataObject.S_dimwei))
                            {
                                if (decimal.TryParse(excelDataObject.S_dimwei, out decimalvalue))
                                {
                                    shipmentDataRequest.DIM_WGT_DE = decimalvalue;
                                }
                            }

                            //shipmentDataRequest.DIM_WGT_DE = null; //Convert.ToDecimal(excelDataObject.S_dimwei);
                            shipmentDataRequest.DST_CTY_TE = excelDataObject.S_dstcity;
                            shipmentDataRequest.DST_PSL_TE = excelDataObject.S_dstpsl;
                            shipmentDataRequest.EXP_SLC_CD = excelDataObject.S_expslic;
                            shipmentDataRequest.EXP_TYP    = "顺丰即日";//excelDataObject.S_expslic;
                            shipmentDataRequest.IMP_NR     = excelDataObject.S_impr;
                            shipmentDataRequest.IMP_SLC_TE = excelDataObject.S_impslic;
                            shipmentDataRequest.IN_FLG_TE  = excelDataObject.S_inflight;
                            shipmentDataRequest.ORG_CTY_TE = excelDataObject.S_orgcity;

                            string pststring = Convert.ToString(excelDataObject.S_orgpsl);
                            if (InputValidations.IsDecimalFormat(pststring))
                            {
                                shipmentDataRequest.ORG_PSL_CD = Decimal.ToInt32(Decimal.Parse(pststring)).ToString();
                            }
                            else
                            {
                                shipmentDataRequest.ORG_PSL_CD = pststring;
                            }

                            // OU_FLG_TE = Convert.ToString(excelDataObject.S_outflight),

                            int intvalue = 0;
                            shipmentDataRequest.PCS_QTY_NR = 0;
                            if (!string.IsNullOrEmpty(excelDataObject.pcs))
                            {
                                if (int.TryParse(excelDataObject.pcs, out intvalue))
                                {
                                    shipmentDataRequest.PCS_QTY_NR = intvalue;
                                }
                            }

                            //shipmentDataRequest.PCS_QTY_NR = null;//Convert.ToInt32(Convert.ToDouble(excelDataObject.pcs));
                            shipmentDataRequest.PH_NR         = excelDataObject.S_ph;
                            shipmentDataRequest.PKG_NR_TE     = excelDataObject.S_packageno;
                            shipmentDataRequest.PKG_WGT_DE    = Convert.ToDecimal(excelDataObject.S_pkgwei);
                            shipmentDataRequest.PK_UP_TM      = null;   //Convert.ToString(excelDataObject.S_pkuptime),
                            shipmentDataRequest.PYM_MTD       = "寄付月结"; //excelDataObject.pymt;
                            shipmentDataRequest.RCV_ADR_TE    = excelDataObject.S_address1;
                            shipmentDataRequest.RCV_CPY_TE    = excelDataObject.S_receivercompany;
                            shipmentDataRequest.SHP_ADR_TE    = excelDataObject.address;
                            shipmentDataRequest.SHP_ADR_TR_TE = string.Empty;
                            shipmentDataRequest.SHP_CPY_NA    = excelDataObject.S_shippercompany;
                            shipmentDataRequest.SHP_CTC_TE    = excelDataObject.S_shptctc;

                            DateTime dDate;
                            int      intdate;
                            shipmentDataRequest.SHP_DT = null;
                            if (!string.IsNullOrEmpty(excelDataObject.S_shipdate))
                            {
                                if (int.TryParse(excelDataObject.S_shipdate, out intdate))
                                {
                                    shipmentDataRequest.SHP_DT = null;
                                }
                                else if (DateTime.TryParse(excelDataObject.S_shipdate, out dDate))
                                {
                                    shipmentDataRequest.SHP_DT = Convert.ToDateTime(excelDataObject.S_shipdate);
                                }
                            }
                            //if(!string.IsNullOrEmpty(excelDataObject.S_shipdate))
                            //{
                            //    if (DateTime.TryParse(excelDataObject.S_shipdate, out dDate))
                            //    {
                            //        shipmentDataRequest.SHP_DT = Convert.ToDateTime(excelDataObject.S_shipdate);
                            //    }
                            //}
                            shipmentDataRequest.SHP_DT            = null; //Convert.ToDateTime(excelDataObject.S_shipdate);
                            shipmentDataRequest.SHP_NR            = excelDataObject.S_shpr;
                            shipmentDataRequest.SHP_PH_TE         = excelDataObject.S_shptph;
                            shipmentDataRequest.SMT_NR_TE         = excelDataObject.S_shipmentno;
                            shipmentDataRequest.SMT_STA_NR        = 0;
                            shipmentDataRequest.SMT_STA_TE        = "Uploaded";
                            shipmentDataRequest.SMT_VAL_DE        = 0;
                            shipmentDataRequest.SMT_WGT_DE        = Convert.ToDecimal(excelDataObject.S_shptwei);
                            shipmentDataRequest.SVL_NR            = Convert.ToString(excelDataObject.svl);
                            shipmentDataRequest.WGT_UNT_TE        = excelDataObject.S_weiunit;
                            shipmentDataRequest.WFL_ID            = workflowID;
                            shipmentDataRequest.SF_TRA_LG_ID      = null;
                            shipmentDataRequest.QQS_TRA_LG_ID     = null;
                            shipmentDataRequest.FST_INV_LN_DES_TE = excelDataObject.S_1stinvoicelinedesc;
                            shipmentDataRequest.POD_RTN_SVC       = "0";

                            shipmentData.Add(shipmentDataRequest);
                        }
                    }
                }
                shipmentService              = new ShipmentService();
                shipmentDataResponse         = shipmentService.CreateShipments(shipmentData);
                shipmentDataResponse.Success = true;
                return(shipmentDataResponse);
            }
            catch (Exception exception)
            {
                shipmentDataResponse.OperationExceptionMsg = exception.Message;
                shipmentDataResponse.Success = true;
                AuditEventEntry.WriteEntry(new Exception(exception.Message));
            }
            return(shipmentDataResponse);
        }
Beispiel #18
0
        public ShipmentDataResponse CreateShipments(List <ShipmentDataRequest> shipmentData)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();

                using (var context = new ApplicationDbContext(optionsBuilder.Options))
                {
                    foreach (ShipmentDataRequest Data in shipmentData)
                    {
                        ShipmentDataRequest shipmentDataRequest = new ShipmentDataRequest();
                        shipmentDataRequest.BIL_TYP_TE        = Data.BIL_TYP_TE;
                        shipmentDataRequest.CCY_VAL_TE        = Data.CCY_VAL_TE;
                        shipmentDataRequest.COD_TE            = Data.COD_TE;
                        shipmentDataRequest.CSG_CTC_TE        = Data.CSG_CTC_TE;
                        shipmentDataRequest.DIM_WGT_DE        = Data.DIM_WGT_DE;
                        shipmentDataRequest.DST_CTY_TE        = Data.DST_CTY_TE;
                        shipmentDataRequest.DST_PSL_TE        = Data.DST_PSL_TE;
                        shipmentDataRequest.EXP_SLC_CD        = Data.EXP_SLC_CD;
                        shipmentDataRequest.EXP_TYP           = Data.EXP_TYP;
                        shipmentDataRequest.FST_INV_LN_DES_TE = Data.FST_INV_LN_DES_TE;
                        shipmentDataRequest.IMP_NR            = Data.IMP_NR;
                        shipmentDataRequest.IMP_SLC_TE        = Data.IMP_SLC_TE;
                        shipmentDataRequest.IN_FLG_TE         = Data.IN_FLG_TE;
                        shipmentDataRequest.ORG_CTY_TE        = Data.ORG_CTY_TE;
                        shipmentDataRequest.ORG_PSL_CD        = Data.ORG_PSL_CD;
                        shipmentDataRequest.OU_FLG_TE         = Data.OU_FLG_TE;
                        shipmentDataRequest.PCS_QTY_NR        = Data.PCS_QTY_NR;
                        shipmentDataRequest.PH_NR             = Data.PH_NR;
                        shipmentDataRequest.PKG_NR_TE         = Data.PKG_NR_TE;
                        shipmentDataRequest.PKG_WGT_DE        = Data.PKG_WGT_DE;
                        shipmentDataRequest.PK_UP_TM          = null; //Data.PK_UP_TM;
                        shipmentDataRequest.PYM_MTD           = Data.PYM_MTD;
                        shipmentDataRequest.PY_MT_TE          = Data.PY_MT_TE;
                        shipmentDataRequest.QQS_TRA_LG_ID     = Data.QQS_TRA_LG_ID;
                        shipmentDataRequest.RCV_ADR_TE        = Data.RCV_ADR_TE;
                        shipmentDataRequest.RCV_CPY_TE        = Data.RCV_CPY_TE;
                        shipmentDataRequest.SF_TRA_LG_ID      = Data.SF_TRA_LG_ID;
                        shipmentDataRequest.SHP_ADR_TE        = Data.SHP_ADR_TE;
                        shipmentDataRequest.SHP_ADR_TR_TE     = Data.SHP_ADR_TR_TE;
                        shipmentDataRequest.SHP_CPY_NA        = Data.SHP_CPY_NA;
                        shipmentDataRequest.SHP_CTC_TE        = Data.SHP_CTC_TE;
                        shipmentDataRequest.SHP_DT            = null; //Data.SHP_DT;
                        shipmentDataRequest.SHP_NR            = Data.SHP_NR;
                        shipmentDataRequest.SHP_PH_TE         = Data.SHP_PH_TE;
                        shipmentDataRequest.SMT_NR_TE         = Data.SMT_NR_TE;
                        shipmentDataRequest.SMT_STA_NR        = Data.SMT_STA_NR;
                        shipmentDataRequest.SMT_VAL_DE        = Data.SMT_VAL_DE;
                        shipmentDataRequest.SMT_WGT_DE        = Data.SMT_WGT_DE;
                        shipmentDataRequest.SVL_NR            = Data.SVL_NR;
                        shipmentDataRequest.WFL_ID            = Data.WFL_ID;
                        shipmentDataRequest.WGT_UNT_TE        = Data.WGT_UNT_TE;
                        shipmentDataRequest.POD_RTN_SVC       = Data.POD_RTN_SVC;
                        context.shipmentDataRequests.Add(shipmentDataRequest);
                        context.Entry(shipmentDataRequest).State = EntityState.Added;
                    }

                    context.SaveChanges();
                    shipmentDataResponse.Shipments = shipmentData; //context.shipmentDataRequests.ToList();
                    shipmentDataResponse.Success   = true;
                    return(shipmentDataResponse);
                }

                //return shipmentDataResponse;
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
        public async Task <ActionResult> ExcelFile(IList <IFormFile> excelFileName)
        {
            string[] validationSet     = configuration.GetSection("ExcelFileValidation:mandatoryFields").GetChildren().Select(val => val.Value).ToArray();
            string[] cellValidationSet = configuration.GetSection("ExcelFileValidation:cellValidationFields").GetChildren().Select(val => val.Value).ToArray();
            string   addressBookEnable = configuration["AddressBook:Enable"];

            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                int userId = Convert.ToInt32(HttpContext.User.Claims.FirstOrDefault(x => x.Type == JwtConstant.UserId).Value);
                ShipmentDataResponse result = null;
                //string response = string.Empty;
                if (excelFileName != null)
                {
                    //var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
                    foreach (var file in excelFileName)
                    {
                        if (file.Length > 0)
                        {
                            //string paths = hostingEnvironment.WebRootPath;

                            var filePath = Path.Combine(_hostingEnvironment.WebRootPath, file.FileName);

                            //var filePath = Path.Combine(@"D:\UserExcels", file.FileName);
                            using (var fileStream = new FileStream(filePath, FileMode.Create))
                            {
                                //FileStream stream = File.Open(fileName, FileMode.Open, FileAccess.Read);
                                //response = new ExcelExtension().Test(filePath);
                                await file.CopyToAsync(fileStream);
                            }


                            ExcelExtensionReponse excelExtensionReponse =
                                new ExcelExtension()
                                .Test(
                                    filePath,
                                    configuration.GetSection("ExcelFileValidation:mandatoryFields").GetChildren().Select(val => val.Value).ToArray(),
                                    configuration.GetSection("ColumnValidation:regexList").GetChildren().Select(val => val.Value).ToArray(),
                                    configuration.GetSection("ColumnValidation:columnLengths").GetChildren().Select(val => val.Value).ToArray());
                            if (excelExtensionReponse.success)
                            {
                                var excelDataObject2 = JsonConvert.DeserializeObject <List <ExcelDataObject> >(excelExtensionReponse.ExcelExtensionReponseData);
                                WorkflowController   workflowController = new WorkflowController(this._hostingEnvironment, this._context, this._addressBookService, this._entityValidationService);
                                WorkflowDataResponse response           = ((WorkflowDataResponse)((ObjectResult)(workflowController.CreateWorkflow(file, userId)).Result).Value);
                                _workflowID = response.Workflow.ID;
                                result      = _shipmentService.CreateShipments(excelDataObject2, _workflowID, addressBookEnable, out int?workflowStatus);
                                if (result.Success)
                                {
                                    shipmentDataResponse.Success   = true;
                                    shipmentDataResponse.Shipments = result.Shipments;
                                    WorkflowDataRequest workflowDataRequest = new WorkflowDataRequest();
                                    workflowDataRequest.ID         = _workflowID;
                                    workflowDataRequest.WFL_STA_TE = workflowStatus;
                                    _workflowService.UpdateWorkflowStatusById(workflowDataRequest);
                                }
                                else
                                {
                                    shipmentDataResponse.Success = false;
                                    shipmentDataResponse.OperationExceptionMsg = result.OperationExceptionMsg;
                                    WorkflowService workflowService = new WorkflowService(_context, _addressBookService, _entityValidationService);
                                    workflowService.DeleteWorkflowById(_workflowID);
                                }
                            }
                            else
                            {
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                                Task.Run(() => iCustomLog.AddLogEntry(new UPS.DataObjects.LogData.LogDataModel()
                                {
                                    apiType        = Enum.GetName(typeof(UPS.DataObjects.LogData.APITypes), 7),
                                    dateTime       = System.DateTime.Now,
                                    LogInformation = new UPS.DataObjects.LogData.LogInformation()
                                    {
                                        LogException = string.Empty,
                                        LogRequest   = "Excel Uploaded",
                                        LogResponse  = JsonConvert.SerializeObject(excelExtensionReponse)
                                    }
                                }));
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                                return(Ok(excelExtensionReponse));
                            }
                        }
                    }
                }

#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                Task.Run(() => iCustomLog.AddLogEntry(new UPS.DataObjects.LogData.LogDataModel()
                {
                    apiTypes       = UPS.DataObjects.LogData.APITypes.ExcelUpload,
                    apiType        = Enum.GetName(typeof(UPS.DataObjects.LogData.APITypes), 7),
                    dateTime       = System.DateTime.Now,
                    LogInformation = new UPS.DataObjects.LogData.LogInformation()
                    {
                        LogException = null,
                        LogRequest   = "Excel Uploaded",
                        LogResponse  = JsonConvert.SerializeObject(shipmentDataResponse)
                    }
                }));
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed

                return(Ok(shipmentDataResponse));
            }
            catch (Exception ex)
            {
                // new AuditEventEntry.WriteEntry(new Exception(ex.Message));
                AuditEventEntry.WriteEntry(ex);
                return(Ok(shipmentDataResponse.OperationExceptionMsg = ex.Message));
            }
        }
Beispiel #20
0
        public async Task <ActionResult> ExcelFile(IList <IFormFile> excelFileName, int Emp_Id)
        {
            ShipmentDataResponse shipmentDataResponse = new ShipmentDataResponse();

            try
            {
                ShipmentDataResponse result = null;
                //string response = string.Empty;
                if (excelFileName != null)
                {
                    //var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
                    foreach (var file in excelFileName)
                    {
                        if (file.Length > 0)
                        {
                            //string paths = hostingEnvironment.WebRootPath;

                            var filePath = Path.Combine(hostingEnvironment.WebRootPath, file.FileName);

                            //var filePath = Path.Combine(@"D:\UserExcels", file.FileName);
                            using (var fileStream = new FileStream(filePath, FileMode.Create))
                            {
                                //FileStream stream = File.Open(fileName, FileMode.Open, FileAccess.Read);
                                //response = new ExcelExtension().Test(filePath);
                                await file.CopyToAsync(fileStream);
                            }


                            ExcelExtensionReponse excelExtensionReponse = new ExcelExtension().Test(filePath);
                            if (excelExtensionReponse.success)
                            {
                                var excelDataObject2 = JsonConvert.DeserializeObject <List <ExcelDataObject> >(excelExtensionReponse.ExcelExtensionReponseData);
                                WorkflowController   workflowController = new WorkflowController();
                                WorkflowDataResponse response           = ((WorkflowDataResponse)((ObjectResult)(workflowController.CreateWorkflow(file, Emp_Id)).Result).Value);
                                _workflowID = response.Workflow.ID;
                                result      = this.CreateShipments(excelDataObject2, _workflowID);
                                if (result.Success)
                                {
                                    shipmentDataResponse.Success   = true;
                                    shipmentDataResponse.Shipments = result.Shipments;
                                }
                                else
                                {
                                    shipmentDataResponse.Success = false;
                                    shipmentDataResponse.OperationExceptionMsg = result.OperationExceptionMsg;
                                    WorkflowService workflowService = new WorkflowService();
                                    workflowService.DeleteWorkflowById(_workflowID);
                                }
                            }
                            else
                            {
                                return(Ok(excelExtensionReponse));
                            }
                        }
                    }
                }

                return(Ok(shipmentDataResponse));
            }
            catch (Exception ex)
            {
                AuditEventEntry.WriteEntry(new Exception(ex.Message));
                return(Ok(shipmentDataResponse.OperationExceptionMsg = ex.Message));
            }
        }
Beispiel #21
0
        public ShipmentDataResponse SelectCompletedShipments(int workflowID)

        {
            ShipmentDataResponse       mappedShipAndShipperCompanyResponse = new ShipmentDataResponse();
            List <ShipmentDataRequest> shipmentDataRequests = null;

            try
            {
                optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();

                using (var context = new ApplicationDbContext(optionsBuilder.Options))
                {
                    shipmentDataRequests = new List <ShipmentDataRequest>();
                    var anonymousList =
                        (
                            from s in context.shipmentDataRequests
                            join c in context.shipperCompanyRequests on s.DST_PSL_TE equals c.SPC_PSL_CD_TE where s.WFL_ID == workflowID
                            where s.WFL_ID == workflowID &&
                            s.SMT_STA_NR == ((int)Enums.ATStatus.Completed)
                            orderby s.ID
                            select new
                    {
                        s.ID,
                        s.WFL_ID,
                        s.ACY_TE,
                        s.BIL_TYP_TE,
                        s.CCY_VAL_TE,
                        s.COD_TE,
                        s.CON_NR,
                        s.CSG_CTC_TE,
                        s.DIM_WGT_DE,
                        s.DST_CTY_TE,
                        s.DST_PSL_TE,
                        s.EXP_SLC_CD,
                        s.EXP_TYP,
                        s.FST_INV_LN_DES_TE,
                        s.IMP_NR,
                        s.IMP_SLC_TE,
                        s.IN_FLG_TE,
                        ORG_CTY_TE = c.SPC_CTY_TE,
                        ORG_PSL_CD = c.SPC_PSL_CD_TE,
                        s.OU_FLG_TE,
                        s.PCS_QTY_NR,
                        s.PH_NR,
                        s.PKG_NR_TE,
                        s.PKG_WGT_DE,
                        s.PK_UP_TM,
                        s.PYM_MTD,
                        s.PY_MT_TE,
                        s.QQS_TRA_LG_ID,
                        s.RCV_ADR_TE,
                        s.RCV_CPY_TE,
                        s.SF_TRA_LG_ID,
                        SHP_ADR_TE = c.SPC_ADR_TE,
                        s.SHP_ADR_TR_TE,
                        SHP_CPY_NA = c.SPC_CPY_TE,
                        SHP_CTC_TE = c.SPC_NA,
                        s.SHP_DT,
                        s.SHP_NR,
                        SHP_PH_TE = c.SPC_SND_PTY_CTC_TE,
                        s.SMT_NR_TE,
                        s.SMT_STA_NR,
                        s.SMT_VAL_DE,
                        s.SMT_WGT_DE,
                        SPC_SLIC_NR = c.SPC_SLIC_NR,
                        s.SVL_NR,
                        s.WGT_UNT_TE,
                        s.POD_RTN_SVC
                    }).ToList();

                    foreach (var shipmentData in anonymousList)
                    {
                        ShipmentDataRequest shipmentDataRequest = new ShipmentDataRequest();
                        shipmentDataRequest.ID                = shipmentData.ID;
                        shipmentDataRequest.BIL_TYP_TE        = shipmentData.BIL_TYP_TE;
                        shipmentDataRequest.CCY_VAL_TE        = shipmentData.CCY_VAL_TE;
                        shipmentDataRequest.COD_TE            = shipmentData.COD_TE;
                        shipmentDataRequest.CSG_CTC_TE        = shipmentData.CSG_CTC_TE;
                        shipmentDataRequest.DIM_WGT_DE        = shipmentData.DIM_WGT_DE;
                        shipmentDataRequest.DST_CTY_TE        = shipmentData.DST_CTY_TE;
                        shipmentDataRequest.DST_PSL_TE        = shipmentData.DST_PSL_TE;
                        shipmentDataRequest.EXP_SLC_CD        = shipmentData.EXP_SLC_CD;
                        shipmentDataRequest.EXP_TYP           = shipmentData.EXP_TYP;
                        shipmentDataRequest.FST_INV_LN_DES_TE = shipmentData.FST_INV_LN_DES_TE;
                        shipmentDataRequest.IMP_NR            = shipmentData.IMP_NR;
                        shipmentDataRequest.IMP_SLC_TE        = shipmentData.IMP_SLC_TE;
                        shipmentDataRequest.IN_FLG_TE         = shipmentData.IN_FLG_TE;
                        shipmentDataRequest.ORG_CTY_TE        = shipmentData.ORG_CTY_TE;
                        shipmentDataRequest.ORG_PSL_CD        = shipmentData.ORG_PSL_CD;
                        shipmentDataRequest.OU_FLG_TE         = shipmentData.OU_FLG_TE;
                        shipmentDataRequest.PCS_QTY_NR        = shipmentData.PCS_QTY_NR;
                        shipmentDataRequest.PH_NR             = shipmentData.PH_NR;
                        shipmentDataRequest.PKG_NR_TE         = shipmentData.PKG_NR_TE;
                        shipmentDataRequest.PKG_WGT_DE        = shipmentData.PKG_WGT_DE;
                        shipmentDataRequest.PK_UP_TM          = shipmentData.PK_UP_TM;
                        shipmentDataRequest.PYM_MTD           = shipmentData.PYM_MTD;
                        shipmentDataRequest.PY_MT_TE          = shipmentData.PY_MT_TE;
                        shipmentDataRequest.QQS_TRA_LG_ID     = shipmentData.QQS_TRA_LG_ID;
                        shipmentDataRequest.RCV_ADR_TE        = shipmentData.RCV_ADR_TE;
                        shipmentDataRequest.RCV_CPY_TE        = shipmentData.RCV_CPY_TE;
                        shipmentDataRequest.SF_TRA_LG_ID      = shipmentData.SF_TRA_LG_ID;
                        shipmentDataRequest.SHP_ADR_TE        = shipmentData.SHP_ADR_TE;
                        shipmentDataRequest.SHP_ADR_TR_TE     = shipmentData.SHP_ADR_TR_TE;
                        shipmentDataRequest.SHP_CPY_NA        = shipmentData.SHP_CPY_NA;
                        shipmentDataRequest.SHP_CTC_TE        = shipmentData.SHP_CTC_TE;
                        shipmentDataRequest.SHP_DT            = shipmentData.SHP_DT;
                        shipmentDataRequest.SHP_NR            = shipmentData.SHP_NR;
                        shipmentDataRequest.SHP_PH_TE         = shipmentData.SHP_PH_TE;
                        shipmentDataRequest.SMT_NR_TE         = shipmentData.SMT_NR_TE;
                        shipmentDataRequest.SMT_STA_NR        = shipmentData.SMT_STA_NR;

                        switch (shipmentDataRequest.SMT_STA_NR)
                        {
                        case 0:
                            shipmentDataRequest.SMT_STA_TE = "Uploaded";
                            break;

                        case 1:
                            shipmentDataRequest.SMT_STA_TE = "Curated";
                            break;

                        case 2:
                            shipmentDataRequest.SMT_STA_TE = "Translated";
                            break;

                        case 3:
                            shipmentDataRequest.SMT_STA_TE = "Completed";
                            break;

                        case 4:
                            shipmentDataRequest.SMT_STA_TE = "Inactive";
                            break;

                        default:
                            shipmentDataRequest.SMT_STA_TE = "Uploaded";
                            break;
                        }

                        shipmentDataRequest.SMT_VAL_DE  = shipmentData.SMT_VAL_DE;
                        shipmentDataRequest.SMT_WGT_DE  = shipmentData.SMT_WGT_DE;
                        shipmentDataRequest.SVL_NR      = shipmentData.SVL_NR;
                        shipmentDataRequest.WFL_ID      = shipmentData.WFL_ID;
                        shipmentDataRequest.WGT_UNT_TE  = shipmentData.WGT_UNT_TE;
                        shipmentDataRequest.ACY_TE      = shipmentData.ACY_TE;
                        shipmentDataRequest.CON_NR      = shipmentData.CON_NR;
                        shipmentDataRequest.SPC_SLIC_NR = shipmentData.SPC_SLIC_NR;
                        shipmentDataRequest.POD_RTN_SVC = shipmentData.POD_RTN_SVC;

                        shipmentDataRequests.Add(shipmentDataRequest);
                    }
                    //shipmentDataRequests = anonymousList.Cast<ShipmentDataRequest>().ToList();
                    mappedShipAndShipperCompanyResponse.Success   = true;
                    mappedShipAndShipperCompanyResponse.Shipments = shipmentDataRequests;
                }
            }
            catch (Exception ex)
            {
                mappedShipAndShipperCompanyResponse.Success = false;
                mappedShipAndShipperCompanyResponse.OperationExceptionMsg = ex.Message;
            }
            return(mappedShipAndShipperCompanyResponse);
        }
        public async Task <ActionResult> UpdateShipmentAddressById([FromBody] ShipmentDataRequest shipmentDataRequest)
        {
            //shipmentService = new ShipmentService();
            string id = HttpContext.User.Claims.FirstOrDefault(x => x.Type == JwtConstant.UserId)?.Value;

            int userId = !string.IsNullOrEmpty(id) ? Convert.ToInt32(id) : 0;
            ShipmentDataResponse shipmentDataResponse = _shipmentService.UpdateShipmentAddressById(shipmentDataRequest);

            if (shipmentDataResponse.Success && !string.IsNullOrEmpty(shipmentDataResponse.BeforeAddress))
            {
                try
                {
                    //AddressAuditLog Update
                    AddressAuditLogRequest addressAuditLogRequest = new AddressAuditLogRequest();
                    addressAuditLogRequest.SMT_ID  = shipmentDataRequest.ID;
                    addressAuditLogRequest.CSG_ADR = shipmentDataRequest.RCV_ADR_TE;
                    addressAuditLogRequest.BFR_ADR = shipmentDataResponse.BeforeAddress;
                    addressAuditLogRequest.AFR_ADR = shipmentDataResponse.ShipmentDataRequest.SHP_ADR_TR_TE;
                    addressAuditLogRequest.UPD_BY  = userId;
                    addressAuditLogRequest.UPD_FRM = "Shipment";
                    addressAuditLogRequest.UPD_DT  = DateTime.Parse(DateTime.Now.ToString()).ToLocalTime();
                    addressAuditLogRequest.WFL_ID  = shipmentDataResponse.ShipmentDataRequest.WFL_ID;
                    AddressAuditLogResponse addressAuditLogResponse = addressAuditLogService.Insert(addressAuditLogRequest);
                    if (addressAuditLogResponse.Success)
                    {
                        // TO DO
                    }
                    else
                    {
                        // Log the error here
                    }
                }
                catch (Exception ex)
                {
                }
            }

            //we need to update the workflow status
            int?workflowstatus = _shipmentService.SelectShipmentTotalStatusByWorkflowId(shipmentDataRequest.WFL_ID);
            WorkflowDataRequest workflowDataRequest = new WorkflowDataRequest();

            workflowDataRequest.ID         = shipmentDataRequest.WFL_ID;
            workflowDataRequest.WFL_STA_TE = workflowstatus;
            _workflowService.UpdateWorkflowStatusById(workflowDataRequest);

#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
            Task.Run(() => iCustomLog.AddLogEntry(new UPS.DataObjects.LogData.LogDataModel()
            {
                apiTypes       = UPS.DataObjects.LogData.APITypes.EFCoreContext,
                apiType        = Enum.GetName(typeof(UPS.DataObjects.LogData.APITypes), 6),
                dateTime       = System.DateTime.Now,
                LogInformation = new UPS.DataObjects.LogData.LogInformation()
                {
                    LogException = null,
                    LogRequest   = JsonConvert.SerializeObject(shipmentDataRequest),
                    LogResponse  = JsonConvert.SerializeObject(shipmentDataResponse)
                }
            }));
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed

            return(Ok(shipmentDataResponse));
        }