public void UpdateAddress(Address address) { //var addressToUpdate = _db.Addresses.FirstOrDefault(a => a.Id == address.Id); var addressToUpdate = _db.Addresses.Find(address.Id); var addressBeforeUpdate = DtoHelper.CreateAddressDto(addressToUpdate); try { addressToUpdate.Active = address.Active; addressToUpdate.AddressLineOne = address.AddressLineOne; addressToUpdate.AddressLineTwo = address.AddressLineTwo; addressToUpdate.AddressLineThree = address.AddressLineThree; addressToUpdate.AddressLineFour = address.AddressLineFour; addressToUpdate.City = address.City; addressToUpdate.Country = address.Country; addressToUpdate.RegionCounty = address.RegionCounty; addressToUpdate.Postcode = address.Postcode; addressToUpdate.Version = addressToUpdate.Version + 1; addressToUpdate.Level = address.Level; addressToUpdate.DeliveryNote = address.DeliveryNote; _db.SaveChanges(); //_unitOfWork.Complete(); _mongoMongoLogger.SuccessfulUpdateServerLog(HttpContext.Current.User, addressBeforeUpdate, addressToUpdate); } catch (Exception ex) { _mongoMongoLogger.FailedUpdateServerLog <Exception, object, object>(HttpContext.Current.User, ex.Message, ex.InnerException, address); } }
public IHttpActionResult AddAddress(Address newAddress) { if (Equals(newAddress, null)) { return(BadRequest()); } try { newAddress.Version = 1; newAddress.Country = "GBR"; newAddress.Active = true; _unitOfWork.Addresses.Add(newAddress); _unitOfWork.Complete(); _logger.SuccessfullyAddedServerLog(HttpContext.Current.User, DtoHelper.CreateAddressDto(newAddress)); return(Ok(newAddress)); } catch (Exception ex) { _logger.FailedToCreateServerLog <Exception, object>(HttpContext.Current.User, ex.Message, ex.InnerException); return(InternalServerError()); } }
public IHttpActionResult GetAddress(int id) { var address = _unitOfWork.Addresses.FindSingle(a => a.Id == id); if (Equals(address, null)) { return(NotFound()); } return(Ok(DtoHelper.CreateAddressDto(address))); }
public IHttpActionResult GetAddress(string gln) { var glnToFind = _unitOfWork.Glns.FindSingle(g => g.OwnGln == gln); var address = _unitOfWork.Addresses.FindSingle(a => a.Id == glnToFind.AddressId); if (Equals(address, null)) { return(NotFound()); } return(Ok(DtoHelper.CreateAddressDto(address))); }
public IHttpActionResult UpdateAddress(Address address) { if (Equals(address, null)) { return(BadRequest()); } var addressToUpdate = _unitOfWork.Addresses.FindSingle(a => a.Id == address.Id); if (Equals(addressToUpdate, null)) { return(NotFound()); } if (!ConcurrencyChecker.canSaveChanges(address.Version, addressToUpdate.Version)) { _logger.ConcurrenyServerLog <object, object>(HttpContext.Current.User, address); return(Conflict()); } var addressBeforeUpdate = DtoHelper.CreateAddressDto(address); try { addressToUpdate.Active = address.Active; addressToUpdate.AddressLineOne = address.AddressLineOne; addressToUpdate.AddressLineTwo = address.AddressLineTwo; addressToUpdate.AddressLineThree = address.AddressLineThree; addressToUpdate.AddressLineFour = address.AddressLineFour; addressToUpdate.City = address.City; addressToUpdate.Country = address.Country; addressToUpdate.RegionCounty = address.RegionCounty; addressToUpdate.Postcode = address.Postcode; addressToUpdate.Version = addressToUpdate.Version + 1; addressToUpdate.Level = address.Level; addressToUpdate.DeliveryNote = address.DeliveryNote; _unitOfWork.Complete(); _logger.SuccessfulUpdateServerLog(HttpContext.Current.User, addressBeforeUpdate, DtoHelper.CreateAddressDto(addressToUpdate)); } catch (Exception ex) { _logger.FailedUpdateServerLog <Exception, object, object>(HttpContext.Current.User, ex.Message, ex.InnerException, DtoHelper.CreateAddressDto(address)); } return(Ok(DtoHelper.CreateAddressDto(addressToUpdate))); }
public IHttpActionResult DeactivateAddress(int deactivateId, int replacementId) { if (deactivateId <= 0 || replacementId <= 0) { return(BadRequest()); } var toDeactivate = _unitOfWork.Addresses.FindSingle(a => a.Id == deactivateId); var toReplace = _unitOfWork.Addresses.FindSingle(a => a.Id == replacementId); if (Equals(toDeactivate, null) || Equals(toReplace, null)) { return(BadRequest()); } toDeactivate.Active = false; toReplace.Active = true; var glnsToUpdate = _unitOfWork.Glns.Find(gln => gln.AddressId == deactivateId).ToList(); if (!Equals(glnsToUpdate, null)) { glnsToUpdate.ForEach(bc => bc.AddressId = replacementId); } try { _unitOfWork.Complete(); _logger.SuccessfulUpdateServerLog(HttpContext.Current.User, DtoHelper.CreateAddressDto(toDeactivate), DtoHelper.CreateAddressDto(toReplace)); var updatedDeactivatedAddress = _unitOfWork.Addresses.FindSingle(a => a.Id == deactivateId); return(Ok(updatedDeactivatedAddress)); } catch (Exception ex) { _logger.FailedUpdateServerLog(HttpContext.Current.User, ex.Message, ex.InnerException, $"Attempt to deactivate Address with Id: {deactivateId}", $"Supplied replacement Address Id: {replacementId}"); return(InternalServerError()); } }
public HttpStatusCode DeactivateAddress(int deactivateId, int replacementId) { var toDeactivate = _db.Addresses.SingleOrDefault(pc => pc.Id == deactivateId); var toReplace = _db.Addresses.SingleOrDefault(pc => pc.Id == replacementId); if (Equals(toDeactivate, null) || Equals(toReplace, null)) { return(HttpStatusCode.BadRequest); } toDeactivate.Active = false; toReplace.Active = true; var barcodesToUpdate = _db.Glns.Where(bc => bc.AddressId == deactivateId).ToList(); if (!Equals(barcodesToUpdate, null)) { barcodesToUpdate.ForEach(bc => bc.AddressId = replacementId); } toDeactivate.Active = false; try { _db.SaveChanges(); _mongoMongoLogger.SuccessfulUpdateServerLog(HttpContext.Current.User, DtoHelper.CreateAddressDto(toDeactivate), DtoHelper.CreateAddressDto(toReplace)); return(HttpStatusCode.OK); } catch (Exception ex) { _mongoMongoLogger.FailedUpdateServerLog(HttpContext.Current.User, ex.Message, ex.InnerException, $"Attempt to deactivate Address with Id: {deactivateId}", $"Supplied replacement Address Id: {replacementId}"); return(HttpStatusCode.InternalServerError); } }
public Address AddAddress(Address newAddress) { try { newAddress.Version = 1; newAddress.Country = "GBR"; newAddress.Active = true; _db.Addresses.Add(newAddress); _db.SaveChanges(); _mongoMongoLogger.SuccessfullyAddedServerLog(HttpContext.Current.User, DtoHelper.CreateAddressDto(newAddress)); return(newAddress); } catch (Exception ex) { _mongoMongoLogger.FailedToCreateServerLog <Exception, object>(HttpContext.Current.User, ex.Message, ex.InnerException); return(newAddress); } }