public async Task <Result> DeleteAsync(Guid id) { var result = await Task.Run(() => { var result = new Result(); var addresses = _addressRepository.AllNotUsed(); var existed_NotUsed_address = addresses.Where(x => x.Id == id).FirstOrDefault(); if (existed_NotUsed_address == null) { result.IsError = true; result.Message = "Not able to delete the address, make sure the address is not used"; result.StatuCode = 400; } else { _addressRepository.Remove(id); _addressRepository.Complete(); } return(result); }); return(result); }
public ActionResult AddressInsert(AddressViewModel address) { if (address == null) { throw new ArgumentNullException(nameof(address)); } var addressModel = new Address() { Description = address.Description, CityId = address.CityId, StateId = address.StateId, CountryId = address.CountryId, UserId = User.Identity.GetUserId <int>() }; _addressRepository.Add(addressModel); _addressRepository.Complete(); return(Json("")); }
public async Task <Result> AddedAsync(ContactAddClient contactClient) { var result = new Result(); await Task.Run(() => { var existed_title = _titleRepository.Exist(new Title() { Name = contactClient.Title }); var title = new Title() { Name = contactClient.Name }; Address new_address = contactClient.GetAddress(); var existed_address = _addressRepository .Find(new AddressExistSpecification(new_address).SpecExpression()) .FirstOrDefault(); Address new_deliveryAddress = contactClient.GetDeliveryAdress(); Address existed_deliveryAddress = null; if (!contactClient.IsDeliverSameAsHomeAddress) { existed_deliveryAddress = _addressRepository .Find(new AddressExistSpecification(new_deliveryAddress).SpecExpression()) .FirstOrDefault(); if (existed_deliveryAddress == null) { _addressRepository.Add(new_deliveryAddress); _addressRepository.Complete(); } } var contact = contactClient.GetContact(); contact.TitleId = existed_title == null ? title.Id : existed_title.Id; contact.Title = existed_title == null ? title : null; contact.HomeAddress = existed_address == null ? new_address : null; /* we don't want to add existed address again (fail) */ contact.AddressId = existed_address == null ? new_address.Id : existed_address.Id; contact.DeliveryAddressId = contactClient.IsDeliverSameAsHomeAddress ? new_address.Id : (existed_deliveryAddress != null ? existed_deliveryAddress.Id : new_deliveryAddress.Id); var existed_contact = _contactRepository.Find(new ContactExistSpecification(contact).SpecExpression()); if (existed_contact == null) { _contactRepository.Add(contact); } else { result.Message = "Client exist, no new contact is created"; result.IsError = true; } }); _contactRepository.Complete(); return(result); }