Пример #1
0
        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);
        }
Пример #2
0
        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(""));
        }
Пример #3
0
        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);
        }