public AddressBookResponse UpdateAddressBookById(AddressBook addressBookData) { AddressBookResponse addressBookResponse = new AddressBookResponse(); try { AddressBook data = this.context.AddressBooks.Where(s => s.Id == addressBookData.Id).FirstOrDefault(); string beforeAddress = data.ConsigneeTranslatedAddress; data.ConsigneeTranslatedAddress = addressBookData.ConsigneeTranslatedAddress; data.ModifiedDate = DateTime.Now; this.context.AddressBooks.Update(data); this.context.Entry(addressBookData).State = EntityState.Detached; this.context.SaveChanges(); addressBookResponse.AddressBookData = this.context.AddressBooks.Where(s => s.Id == addressBookData.Id).FirstOrDefault(); addressBookResponse.Success = true; addressBookResponse.BeforeAddress = string.Empty; if (!string.Equals(beforeAddress, data.ConsigneeTranslatedAddress)) { addressBookResponse.BeforeAddress = beforeAddress; var matchedShipments = this.context.shipmentDataRequests.Where(s => s.RCV_ADR_TE == addressBookData.ConsigneeAddress).ToList(); if (matchedShipments.Any()) { matchedShipments.ForEach(shipment => { shipment.SHP_ADR_TR_TE = data.ConsigneeTranslatedAddress; shipment.SMT_STA_NR = (int)Enums.ATStatus.Curated; }); this.context.BulkUpdate(matchedShipments); } } return(addressBookResponse); } catch (Exception ex) { addressBookResponse.Success = false; addressBookResponse.OperatonExceptionMessage = ex.Message; } return(addressBookResponse); }
public override async Task <AddressBookResponse> Get(AddressBookRequest request, ServerCallContext context) { var listPerson = new List <Person>(); if (string.IsNullOrWhiteSpace(request.Id)) { listPerson.AddRange(this._people); } else { listPerson.Add(this._people.Single(x => x.Id == int.Parse(request.Id))); } var response = new AddressBookResponse() { People = { listPerson } }; return(await Task.FromResult(response)); }
public IActionResult UpdateAddressBookById([FromBody] AddressBook addressBookData) { AddressBookResponse addressBookResponse = this.addressBookService.UpdateAddressBookById(addressBookData); if (addressBookResponse.Success && !string.IsNullOrEmpty(addressBookResponse.BeforeAddress)) { try { int userId = Convert.ToInt32(HttpContext.User.Claims.FirstOrDefault(x => x.Type == JwtConstant.UserId).Value); //AddressAuditLog Update AddressAuditLogRequest addressAuditLogRequest = new AddressAuditLogRequest(); addressAuditLogRequest.SMT_ID = addressBookResponse.AddressBookData.ShipmentId; addressAuditLogRequest.CSG_ADR = addressBookResponse.AddressBookData.ConsigneeAddress; addressAuditLogRequest.BFR_ADR = addressBookResponse.BeforeAddress; addressAuditLogRequest.AFR_ADR = addressBookData.ConsigneeTranslatedAddress; addressAuditLogRequest.UPD_BY = userId; addressAuditLogRequest.UPD_FRM = "AddressBook"; addressAuditLogRequest.UPD_DT = DateTime.Now; addressAuditLogRequest.WFL_ID = addressBookData.WFL_ID; AddressAuditLogResponse addressAuditLogResponse = this.addressAuditLogService.Insert(addressAuditLogRequest); if (addressAuditLogResponse.Success) { // TO DO } else { // Log the error here } } catch (Exception ex) { AuditEventEntry.WriteEntry(ex); } } return(Ok(addressBookResponse)); }