예제 #1
0
        public ApiResponse <bool> SaveAddress(CustomerBillingAddress customerBillingAddress)
        {
            var deviceNo = GetDeviceNo();
            var isSaved  = _customerServices.SaveBillingAddress(customerBillingAddress, deviceNo);

            if (isSaved)
            {
                return(ApiUtility.ApiSuccess <bool>(isSaved, "New address added successfully"));
            }
            else
            {
                return(ApiUtility.ApiSuccess <bool>(false, "Failed !!!"));
            }
        }
예제 #2
0
 public bool SaveBillingAddress(CustomerBillingAddress customerBillingAddress, string deviceNo)
 {
     try
     {
         using (var dataContract = new CustomerAttributeContract())
         {
             if (!string.IsNullOrEmpty(deviceNo))
             {
                 return(dataContract.SaveBillingAddress(customerBillingAddress, deviceNo.Trim()));
             }
             return(false);
         }
     }
     catch
     {
         throw;
     }
 }
        public bool SaveBillingAddress(CustomerBillingAddress customerBillingAddress, string deviceNo)
        {
            try
            {
                using (var dataContext = new BrownBagDataEntities())
                {
                    var addressEntity = new DataEntity.Address();
                    var device        = dataContext.DeviceRegistrations.Where(a => a.IMEI_Number == deviceNo).FirstOrDefault();
                    if (device == null)
                    {
                        return(false);
                    }
                    if (device.RefCustomerGuid == null)
                    {
                        return(false);
                    }
                    var customerOtherDetails = dataContext.CustomerAttributes.Where(a => a.Customer_Id == device.RefCustomerGuid).FirstOrDefault();
                    if (customerOtherDetails == null)
                    {
                        return(false);
                    }
                    var nameSegments = customerOtherDetails.Customer_Name.Split(' ');
                    var firstName    = "";
                    for (int i = 0; i < nameSegments.Length - 1; i++)
                    {
                        firstName += nameSegments[i].Trim() + " ";
                    }

                    if (customerBillingAddress != null)
                    {
                        if (customerBillingAddress.Id == 0)
                        {
                            addressEntity = new DataEntity.Address
                            {
                                Country        = customerBillingAddress.Country,
                                CompanyName    = "",
                                City           = customerBillingAddress.City ?? "",
                                State          = customerBillingAddress.State ?? "",
                                StreetAddress1 = customerBillingAddress.StreetAddress1,
                                StreetAddress2 = customerBillingAddress.StreetAddress2 ?? "",
                                ZipCode        = customerBillingAddress.ZipCode ?? "",
                                CreatedOnUtc   = DateTime.Now.ToUniversalTime(),
                                UpdatedOnUtc   = DateTime.Now.ToUniversalTime(),
                                Status         = 1,
                                CustomerGUID   = device.RefCustomerGuid,
                                FirstName      = firstName.Trim(),
                                LastName       = nameSegments[nameSegments.Length - 1].Trim()
                            };
                            dataContext.Addresses.Add(addressEntity);
                        }
                        else
                        {
                            var selectedAddress = dataContext.Addresses.Where(a => a.Id == customerBillingAddress.Id).FirstOrDefault();
                            if (selectedAddress != null)
                            {
                                selectedAddress.Country        = customerBillingAddress.Country ?? "";
                                selectedAddress.City           = customerBillingAddress.City ?? "";
                                selectedAddress.State          = customerBillingAddress.State ?? "";
                                selectedAddress.StreetAddress1 = customerBillingAddress.StreetAddress1 ?? "";
                                selectedAddress.StreetAddress2 = customerBillingAddress.StreetAddress2 ?? "";
                                selectedAddress.ZipCode        = customerBillingAddress.ZipCode ?? "";
                                selectedAddress.CreatedOnUtc   = DateTime.Now.ToUniversalTime();
                                selectedAddress.UpdatedOnUtc   = DateTime.Now.ToUniversalTime();
                            }
                        }
                    }
                    var isSave = dataContext.SaveChanges() > 0 ? true : false;
                    if (customerBillingAddress.Id == 0 && dataContext.Addresses.Where(x => x.CustomerGUID == device.RefCustomerGuid).Count() == 1)
                    {
                        var customer = dataContext.Customers.Where(a => a.CustomerGuid == device.RefCustomerGuid).FirstOrDefault();
                        customer.ShippingAddress_Id = addressEntity.Id;
                        customer.BillingAddress_Id  = addressEntity.Id;
                        dataContext.SaveChanges();
                    }
                    return(isSave);
                }
            }
            catch
            {
                throw;
            }
        }