Example #1
0
        //AddUser
        public User AddUser(RegisterInfo info)
        {
            User user = new User();

            try
            {
                dataContext.Users.InsertOnSubmit(user);
                user.Login            = info.Login;
                user.Email            = info.Email;
                user.ConfirmationCode = Guid.NewGuid().ToString().Replace("-", "");
                user.Password         = info.Password;
                user.DateRegistered   = DateTime.Now;
                user.UserType         = (byte)Consts.UserTypes.Buyer;
                user.IsConfirmed      = false;
                user.Fax = info.Fax;
                user.BillingLikeShipping = info.BillingLikeShipping;
                user.Status                     = (byte)Consts.UserStatus.Pending;
                user.MobilePhone                = info.MobilePhone;
                user.TaxpayerID                 = info.TaxpayerID;
                user.EbayID                     = info.EbayID;
                user.EbayFeedback               = info.EbayFeedback;
                user.DayPhone                   = info.DayPhone;
                user.EveningPhone               = info.EveningPhone;
                user.IsModifyed                 = true;
                user.IsRecievingOutBidNotice    = info.RecievingOutBidNotice;
                user.CommissionRate_ID          = Consts.DefaultCommissionRate;
                user.RecieveNewsUpdates         = true;
                user.RecieveWeeklySpecials      = true;
                user.IsRecievingBidConfirmation = true;
                user.IsRecievingLotClosedNotice = true;
                user.IsRecievingLotSoldNotice   = true;

                IDifferentRepository diff = new DifferentRepository(dataContext, CacheRepository);
                State BillingState        = diff.GetStateByCode(info.BillingState);
                State ShippingState;
                long  state1 = (BillingState == null) ? 0 : BillingState.ID;;
                long  state2;
                if (!info.BillingLikeShipping)
                {
                    ShippingState = diff.GetStateByCode(info.ShippingState);
                    state2        = (ShippingState == null) ? 0 : ShippingState.ID;
                }
                else
                {
                    state2 = state1;
                }

                AddressCard ac = new AddressCard();
                dataContext.AddressCards.InsertOnSubmit(ac);
                ac.FirstName             = info.BillingFirstName;
                ac.LastName              = info.BillingLastName;
                ac.MiddleName            = info.BillingMIName;
                ac.Address1              = info.BillingAddress1;
                ac.Address2              = info.BillingAddress2;
                ac.State                 = String.IsNullOrEmpty(info.BillingState) ? String.Empty : info.BillingState;
                ac.City                  = info.BillingCity;
                ac.Zip                   = info.BillingZip;
                ac.Country_ID            = info.BillingCountry;
                ac.Company               = info.BillingCompany;
                ac.InternationalState    = info.BillingInternationalState;
                ac.HomePhone             = ac.WorkPhone = info.BillingPhone;
                ac.State_ID              = state1;
                user.AddressCard_Billing = ac;

                ac = new AddressCard();
                dataContext.AddressCards.InsertOnSubmit(ac);
                ac.FirstName              = info.BillingFirstName;
                ac.LastName               = info.BillingLastName;
                ac.MiddleName             = info.BillingMIName;
                ac.Address1               = (user.BillingLikeShipping) ? info.BillingAddress1 : info.ShippingAddress1;
                ac.Address2               = (user.BillingLikeShipping) ? info.BillingAddress2 : info.ShippingAddress2;
                ac.State                  = (user.BillingLikeShipping) ? info.BillingState : info.ShippingState;
                ac.City                   = (user.BillingLikeShipping) ? info.BillingCity : info.ShippingCity;
                ac.Zip                    = (user.BillingLikeShipping) ? info.BillingZip : info.ShippingZip;
                ac.Country_ID             = (user.BillingLikeShipping) ? info.BillingCountry : info.ShippingCountry;
                ac.InternationalState     = (user.BillingLikeShipping) ? info.BillingInternationalState : info.ShippingInternationalState;
                ac.State_ID               = (user.BillingLikeShipping) ? state1 : state2;
                ac.HomePhone              = ac.WorkPhone = (user.BillingLikeShipping) ? info.BillingPhone : info.ShippingPhone;
                ac.State_ID               = (user.BillingLikeShipping) ? state1 : state2;
                user.AddressCard_Shipping = ac;

                UserReference ur = new UserReference();
                dataContext.UserReferences.InsertOnSubmit(ur);
                ur.AuctionHouse    = info.Reference1AuctionHouse;
                ur.PhoneNumber     = info.Reference1PhoneNumber;
                ur.LastBidPlaced   = info.Reference1LastBidPlaced;
                user.UserReference = ur;

                ur = new UserReference();
                dataContext.UserReferences.InsertOnSubmit(ur);
                ur.AuctionHouse     = info.Reference2AuctionHouse;
                ur.PhoneNumber      = info.Reference2PhoneNumber;
                ur.LastBidPlaced    = info.Reference2LastBidPlaced;
                user.UserReference1 = ur;

                SubmitChanges();
                RemoveUserFromCache(user.ID, user.Email);
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
            }
            return(user);
        }
Example #2
0
        //UpdateUser
        public User UpdateUser(RegisterInfo info)
        {
            User usr = GetUser(info.ID, false);

            try
            {
                if (usr == null)
                {
                    usr = new User();
                    dataContext.Users.InsertOnSubmit(usr);
                }

                usr.Login                 = info.Login;
                usr.Email                 = info.Email;
                usr.Password              = info.Password;
                usr.RecieveNewsUpdates    = info.RecieveNewsUpdates;
                usr.RecieveWeeklySpecials = info.RecieveWeeklySpecials;
                usr.Fax = info.Fax;
                usr.BillingLikeShipping = info.BillingLikeShipping;
                usr.MobilePhone         = info.MobilePhone;
                usr.TaxpayerID          = info.TaxpayerID;
                usr.EbayID       = info.EbayID;
                usr.EbayFeedback = info.EbayFeedback;
                usr.DayPhone     = info.DayPhone;
                usr.EveningPhone = info.EveningPhone;
                usr.IsModifyed   = true;

                State BillingState, ShippingState;
                long  state1, state2;

                IDifferentRepository diff = new DifferentRepository(dataContext, CacheRepository);
                BillingState = (!String.IsNullOrEmpty(info.BillingState)) ? diff.GetStateByCode(info.BillingState.ToLower()) : null;
                state1       = (BillingState == null) ? 0 : BillingState.ID;
                if (!info.BillingLikeShipping)
                {
                    ShippingState = (!String.IsNullOrEmpty(info.ShippingState)) ? diff.GetStateByCode(info.ShippingState.ToLower()) : null;
                    state2        = (ShippingState == null) ? 0 : ShippingState.ID;
                }
                else
                {
                    state2 = state1;
                }

                IAddressCard ac1 = GetAddressCard(usr.Billing_AddressCard_ID.GetValueOrDefault(-1), false);
                if (ac1 == null)
                {
                    ac1 = new AddressCard();
                    dataContext.AddressCards.InsertOnSubmit(ac1 as AddressCard);
                    usr.AddressCard_Billing = ac1 as AddressCard;
                }
                ac1.FirstName          = info.BillingFirstName;
                ac1.LastName           = info.BillingLastName;
                ac1.MiddleName         = info.BillingMIName;
                ac1.Address1           = info.BillingAddress1;
                ac1.Address2           = info.BillingAddress2;
                ac1.City               = info.BillingCity;
                ac1.State              = String.IsNullOrEmpty(info.BillingState) ? String.Empty : info.BillingState;
                ac1.Zip                = info.BillingZip;
                ac1.Country_ID         = info.BillingCountry;
                ac1.Company            = info.BillingCompany;
                ac1.InternationalState = info.BillingInternationalState;
                ac1.HomePhone          = ac1.WorkPhone = info.BillingPhone;
                ac1.State_ID           = state1;

                IAddressCard ac = usr.Shipping_AddressCard_ID.HasValue ? GetAddressCard(usr.Shipping_AddressCard_ID.GetValueOrDefault(-1), false) : GetAddressCard(usr.Billing_AddressCard_ID.GetValueOrDefault(-1), false);
                if (ac == null)
                {
                    ac = new AddressCard();
                    dataContext.AddressCards.InsertOnSubmit(ac as AddressCard);
                    usr.AddressCard_Shipping = ac as AddressCard;
                }
                ac.FirstName          = info.BillingFirstName;
                ac.LastName           = info.BillingLastName;
                ac.MiddleName         = info.BillingMIName;
                ac.Address1           = (usr.BillingLikeShipping) ? info.BillingAddress1 : info.ShippingAddress1;
                ac.Address2           = (usr.BillingLikeShipping) ? info.BillingAddress2 : info.ShippingAddress2;
                ac.City               = (usr.BillingLikeShipping) ? info.BillingCity : info.ShippingCity;
                ac.State              = (usr.BillingLikeShipping) ? info.BillingState : info.ShippingState;
                ac.State              = String.IsNullOrEmpty(ac.State)?String.Empty:ac.State;
                ac.InternationalState = (usr.BillingLikeShipping) ? info.BillingInternationalState : info.ShippingInternationalState;
                ac.Zip        = (usr.BillingLikeShipping) ? info.BillingZip : info.ShippingZip;
                ac.Country_ID = (usr.BillingLikeShipping) ? info.BillingCountry : info.ShippingCountry;
                ac.HomePhone  = ac.WorkPhone = (usr.BillingLikeShipping) ? info.BillingPhone : info.ShippingPhone;
                ac.State_ID   = (usr.BillingLikeShipping) ? state1 : state2;

                SubmitChanges();

                RemoveUserFromCache(usr.ID, usr.Email);
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
                throw ex;
            }
            return(usr);
        }
Example #3
0
        //GetRegisterInfo
        public RegisterInfo GetRegisterInfo(long user_id)
        {
            DataCacheObject dco = new DataCacheObject(DataCacheType.ACTIVITY, DataCacheRegions.USERS, "GETREGISTERINFO",
                                                      new object[] { user_id }, CachingExpirationTime.Minutes_30);
            RegisterInfo info = CacheRepository.Get(dco) as RegisterInfo;

            if (info != null)
            {
                return(info);
            }
            info = new RegisterInfo();

            IUser user = GetUser(user_id, true);

            if (user == null)
            {
                return(null);
            }

            info.ID                    = user.ID;
            info.Login                 = user.Login;
            info.Email                 = user.Email;
            info.ConfirmEmail          = user.Email;
            info.Password              = user.Password;
            info.ConfirmPassword       = user.Password;
            info.RecieveNewsUpdates    = user.RecieveNewsUpdates.GetValueOrDefault(false);
            info.RecieveWeeklySpecials = user.RecieveWeeklySpecials.GetValueOrDefault(false);
            info.Fax                   = user.Fax;
            info.BillingLikeShipping   = user.BillingLikeShipping;
            info.MobilePhone           = user.MobilePhone;
            info.TaxpayerID            = user.TaxpayerID;
            info.EbayID                = user.EbayID;
            info.DayPhone              = user.DayPhone;
            info.EveningPhone          = user.EveningPhone;
            info.EbayFeedback          = user.EbayFeedback;
            info.IsModifyed            = user.IsModifyed;

            IAddressCard BillingCard = user.Billing_AddressCard_ID != null?GetAddressCard(user.Billing_AddressCard_ID.GetValueOrDefault(-1), true) : new AddressCard();

            info.BillingFirstName          = BillingCard.FirstName;
            info.BillingLastName           = BillingCard.LastName;
            info.BillingMIName             = BillingCard.MiddleName;
            info.BillingAddress1           = BillingCard.Address1;
            info.BillingAddress2           = BillingCard.Address2;
            info.BillingCity               = BillingCard.City;
            info.BillingZip                = BillingCard.Zip;
            info.BillingState              = BillingCard.State;
            info.BillingPhone              = BillingCard.HomePhone;
            info.BillingCountry            = BillingCard.Country_ID;
            info.BillingCompany            = BillingCard.Company;
            info.BillingInternationalState = BillingCard.InternationalState;

            IAddressCard ShippingCard = user.Shipping_AddressCard_ID != null?GetAddressCard(user.Shipping_AddressCard_ID.GetValueOrDefault(-1), true) : new AddressCard();

            info.ShippingFirstName          = ShippingCard.FirstName;
            info.ShippingLastName           = ShippingCard.LastName;
            info.ShippingMIName             = ShippingCard.MiddleName;
            info.ShippingAddress1           = ShippingCard.Address1;
            info.ShippingAddress2           = ShippingCard.Address2;
            info.ShippingCity               = ShippingCard.City;
            info.ShippingZip                = ShippingCard.Zip;
            info.ShippingState              = ShippingCard.State;
            info.ShippingWorkPhone          = ShippingCard.WorkPhone;
            info.ShippingPhone              = ShippingCard.HomePhone;
            info.ShippingCountry            = ShippingCard.Country_ID;
            info.ShippingInternationalState = ShippingCard.InternationalState;

            IUserReference Reference1 = user.IDUserReference1.HasValue ? GetUserReferences(user.IDUserReference1.GetValueOrDefault(-1)) : new UserReference();

            info.Reference1AuctionHouse  = Reference1.AuctionHouse;
            info.Reference1LastBidPlaced = Reference1.LastBidPlaced;
            info.Reference1PhoneNumber   = Reference1.PhoneNumber;

            IUserReference Reference2 = user.IDUserReference2.HasValue ? GetUserReferences(user.IDUserReference2.GetValueOrDefault(-1)) : new UserReference();

            info.Reference2AuctionHouse  = Reference2.AuctionHouse;
            info.Reference2LastBidPlaced = Reference2.LastBidPlaced;
            info.Reference2PhoneNumber   = Reference2.PhoneNumber;

            dco.Data = info;
            CacheRepository.Add(dco);

            return(info);
        }
Example #4
0
        //UpdateUser
        public User UpdateUser(RegisterInfo info)
        {
            User usr = GetUser(info.ID, false);

            try
            {
                if (usr == null)
                {
                    throw new Exception("The user doesn't exist");
                }
                if (usr.Email != info.Email)
                {
                    usr.ConfirmationCode = Guid.NewGuid().ToString().Replace("-", "");
                }
                usr.Email    = info.Email;
                usr.Password = info.Password;
                usr.NotRecieveNewsUpdates    = !info.RecieveNewsUpdates;
                usr.NotRecieveWeeklySpecials = !info.RecieveWeeklySpecials;
                usr.Reference           = info.Reference;
                usr.BillingLikeShipping = info.BillingLikeShipping;
                usr.IsModifyed          = true;
                usr.NotPasswordReset    = false;

                info.NotPasswordReset = false;
                info.IsModifyed       = true;

                ICountryRepository repCountry = new CountryRepository(dataContext, CacheRepository);
                State BillingState            = repCountry.GetStateByCode(info.BillingState);
                State ShippingState;
                long  state1 = (BillingState == null) ? 0 : BillingState.ID;
                long  state2;
                if (!info.BillingLikeShipping)
                {
                    ShippingState = repCountry.GetStateByCode(info.ShippingState.ToLower());
                    state2        = (ShippingState == null) ? 0 : ShippingState.ID;
                }
                else
                {
                    state2 = state1;
                }

                IAddressCard acB = GetAddressCard(usr.Billing_AddressCard_ID.GetValueOrDefault(-1), false);
                if (acB == null)
                {
                    acB = new AddressCard();
                    dataContext.AddressCards.InsertOnSubmit(acB as AddressCard);
                    usr.AddressCard_Billing = acB as AddressCard;
                }
                acB.FirstName  = info.BillingFirstName;
                acB.LastName   = info.BillingLastName;
                acB.MiddleName = info.BillingMIName;
                acB.Address1   = info.BillingAddress1;
                acB.Address2   = info.BillingAddress2;
                acB.City       = info.BillingCity;
                acB.State      = String.IsNullOrEmpty(info.BillingState) ? String.Empty : info.BillingState;
                acB.Zip        = info.BillingZip;
                acB.Country_ID = info.BillingCountry;
                acB.HomePhone  = info.BillingPhone;
                acB.WorkPhone  = info.BillingWorkPhone;
                acB.State_ID   = state1;
                acB.Fax        = info.BillingFax;

                IAddressCard acS = usr.Shipping_AddressCard_ID.HasValue ? GetAddressCard(usr.Shipping_AddressCard_ID.GetValueOrDefault(-1), false) : GetAddressCard(usr.Billing_AddressCard_ID.GetValueOrDefault(-1), false);
                if (acS == null)
                {
                    acS = new AddressCard();
                    dataContext.AddressCards.InsertOnSubmit(acS as AddressCard);
                    usr.AddressCard_Shipping = acS as AddressCard;
                }
                acS.FirstName  = (usr.BillingLikeShipping) ?info.BillingFirstName : info.ShippingFirstName;
                acS.LastName   = (usr.BillingLikeShipping) ?info.BillingLastName : info.ShippingLastName;
                acS.MiddleName = (usr.BillingLikeShipping) ?info.BillingMIName : info.ShippingMIName;
                acS.Address1   = (usr.BillingLikeShipping) ? info.BillingAddress1 : info.ShippingAddress1;
                acS.Address2   = (usr.BillingLikeShipping) ? info.BillingAddress2 : info.ShippingAddress2;
                acS.City       = (usr.BillingLikeShipping) ? info.BillingCity : info.ShippingCity;
                acS.State      = (usr.BillingLikeShipping) ? info.BillingState : info.ShippingState;
                acS.State      = String.IsNullOrEmpty(acS.State) ? String.Empty : acS.State;
                acS.Zip        = (usr.BillingLikeShipping) ? info.BillingZip : info.ShippingZip;
                acS.Country_ID = (usr.BillingLikeShipping) ? info.BillingCountry : info.ShippingCountry;
                acS.HomePhone  = (usr.BillingLikeShipping) ? info.BillingPhone : info.ShippingPhone;
                acS.WorkPhone  = (usr.BillingLikeShipping) ? info.BillingWorkPhone : info.ShippingWorkPhone;
                acS.State_ID   = (usr.BillingLikeShipping) ? state1 : state2;
                acB.Fax        = (usr.BillingLikeShipping) ? info.BillingFax : info.ShippingFax;

                SubmitChanges();
                UpdateUserCache(usr);

                DataCacheObject dco = new DataCacheObject(DataCacheType.ACTIVITY, DataCacheRegions.USERS, "GETREGISTERINFO", new object[] { usr.ID }, CachingExpirationTime.Minutes_30, info);
                CacheRepository.Put(dco);
                dco.Method = "GETADDRESSCARD";
                dco.Params = new object[] { acB.ID };
                dco.Data   = acB;
                CacheRepository.Put(dco);
                dco.Params = new object[] { acS.ID };
                dco.Data   = acS;
                CacheRepository.Put(dco);
                //CacheRepository.Update(CacheDataKeys.USER_GETREGISTERINFO, info, new object[] { usr.ID });
                //CacheRepository.Update(CacheDataKeys.USER_GETADDRESSCARD, acB, new object[] { acB.ID });
                //CacheRepository.Update(CacheDataKeys.USER_GETADDRESSCARD, acS, new object[] { acS.ID });
            }
            catch (Exception ex)
            {
                Logger.LogException("[registerinfo>login: "******"]", ex);
                return(null);
            }
            return(usr);
        }
Example #5
0
        //AddUser
        public User AddUser(RegisterInfo info)
        {
            User user = new User();

            try
            {
                ICountryRepository repCountry = new CountryRepository(dataContext, CacheRepository);

                State BillingState = repCountry.GetStateByCode(info.BillingState);
                State ShippingState;
                long  state1 = (BillingState == null) ? 0 : BillingState.ID;
                long  state2;
                if (!info.BillingLikeShipping)
                {
                    ShippingState = repCountry.GetStateByCode(info.ShippingState.ToLower());
                    state2        = (ShippingState == null) ? 0 : ShippingState.ID;
                }
                else
                {
                    state2 = state1;
                }

                AddressCard BillingCard = new AddressCard();
                dataContext.AddressCards.InsertOnSubmit(BillingCard);
                BillingCard.Address1   = info.BillingAddress1;
                BillingCard.Address2   = info.BillingAddress2;
                BillingCard.Zip        = info.BillingZip;
                BillingCard.City       = info.BillingCity;
                BillingCard.FirstName  = info.BillingFirstName;
                BillingCard.LastName   = info.BillingLastName;
                BillingCard.MiddleName = info.BillingMIName;
                BillingCard.State      = info.BillingState;
                BillingCard.Country_ID = info.BillingCountry;
                BillingCard.HomePhone  = info.BillingPhone;
                BillingCard.WorkPhone  = info.BillingWorkPhone;
                BillingCard.Fax        = info.BillingFax;
                BillingCard.State_ID   = state1;

                AddressCard ShippingCard = new AddressCard();
                dataContext.AddressCards.InsertOnSubmit(ShippingCard);
                ShippingCard.FirstName  = (info.BillingLikeShipping) ? info.BillingFirstName : info.ShippingFirstName;
                ShippingCard.LastName   = (info.BillingLikeShipping) ? info.BillingLastName : info.ShippingLastName;
                ShippingCard.MiddleName = (info.BillingLikeShipping) ? info.BillingMIName : info.ShippingMIName;
                ShippingCard.Address1   = (info.BillingLikeShipping) ? info.BillingAddress1 : info.ShippingAddress1;
                ShippingCard.Address2   = (info.BillingLikeShipping) ? info.BillingAddress2 : info.ShippingAddress2;
                ShippingCard.City       = (info.BillingLikeShipping) ? info.BillingCity : info.ShippingCity;
                ShippingCard.State      = (info.BillingLikeShipping) ? info.BillingState : info.ShippingState;
                ShippingCard.Country_ID = (info.BillingLikeShipping) ? info.BillingCountry : info.ShippingCountry;
                ShippingCard.HomePhone  = (info.BillingLikeShipping) ? info.BillingPhone : info.ShippingPhone;
                ShippingCard.WorkPhone  = (info.BillingLikeShipping) ? info.BillingWorkPhone : info.ShippingWorkPhone;
                ShippingCard.Fax        = (info.BillingLikeShipping) ? info.BillingFax : info.ShippingFax;
                ShippingCard.Zip        = (info.BillingLikeShipping) ? info.BillingZip : info.ShippingZip;
                ShippingCard.State_ID   = (info.BillingLikeShipping) ? state1 : state2;

                dataContext.Users.InsertOnSubmit(user);
                user.Login                       = info.Login.Trim();
                user.Email                       = info.Email;
                user.ConfirmationCode            = Guid.NewGuid().ToString().Replace("-", "");
                user.Password                    = info.Password;
                user.NotRecieveNewsUpdates       = !info.RecieveNewsUpdates;
                user.NotRecieveWeeklySpecials    = !info.RecieveWeeklySpecials;
                user.DateIN                      = DateTime.Now;
                user.UserType                    = (byte)Consts.UserTypes.Buyer;
                user.IsConfirmed                 = false;
                user.Reference                   = info.Reference;
                user.BillingLikeShipping         = info.BillingLikeShipping;
                user.Status                      = (byte)Consts.UserStatus.Pending;
                user.Notes                       = string.Empty;
                user.IsModifyed                  = true;
                user.CommRate_ID                 = Consts.DefaultCommissionRate;
                user.NotRecievingBidConfirmation = user.NotRecievingLotClosedNotice = user.NotRecievingLotSoldNotice = user.NotRecievingOutBidNotice = false;

                user.AddressCard_Billing  = BillingCard;
                user.AddressCard_Shipping = ShippingCard;

                SubmitChanges();
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
                user = null;
            }
            return(user);
        }
Example #6
0
        //GetRegisterInfo
        public RegisterInfo GetRegisterInfo(long user_id)
        {
            DataCacheObject dco  = new DataCacheObject(DataCacheType.ACTIVITY, DataCacheRegions.USERS, "GETREGISTERINFO", new object[] { user_id }, CachingExpirationTime.Minutes_30);
            RegisterInfo    info = CacheRepository.Get(dco) as RegisterInfo;

            if (info != null)
            {
                return(info);
            }
            info = new RegisterInfo();
            try
            {
                User user = GetUser(user_id, true);
                if (user == null)
                {
                    throw new Exception("The user doesn't exist");
                }

                info.ID                    = user.ID;
                info.Login                 = user.Login;
                info.Email                 = user.Email;
                info.Password              = user.Password;
                info.ConfirmPassword       = user.Password;
                info.ConfirmEmail          = user.Email;
                info.RecieveNewsUpdates    = !user.NotRecieveNewsUpdates;
                info.RecieveWeeklySpecials = !user.NotRecieveWeeklySpecials;
                info.Reference             = user.Reference;
                info.BillingLikeShipping   = user.BillingLikeShipping;
                info.NotPasswordReset      = user.NotPasswordReset;
                info.IsModifyed            = user.IsModifyed;
                info.IsConsignorShip       = user.IsConsignorShip;

                AddressCard BillingCard = user.Billing_AddressCard_ID.GetValueOrDefault(0) > 0 ? GetAddressCard(user.Billing_AddressCard_ID.GetValueOrDefault(-1), true) : new AddressCard();
                info.BillingFirstName = BillingCard.FirstName;
                info.BillingLastName  = BillingCard.LastName;
                info.BillingMIName    = BillingCard.MiddleName;
                info.BillingFax       = BillingCard.Fax;
                info.BillingAddress1  = BillingCard.Address1;
                info.BillingAddress2  = BillingCard.Address2;
                info.BillingCity      = BillingCard.City;
                info.BillingZip       = BillingCard.Zip;
                info.BillingState     = BillingCard.State;
                info.BillingPhone     = BillingCard.HomePhone;
                info.BillingWorkPhone = BillingCard.WorkPhone;
                info.BillingCountry   = BillingCard.Country_ID;

                AddressCard ShippingCard = user.Shipping_AddressCard_ID.GetValueOrDefault(0) > 0 ? GetAddressCard(user.Shipping_AddressCard_ID.GetValueOrDefault(-1), true) : new AddressCard();
                info.ShippingFirstName = (user.BillingLikeShipping) ? BillingCard.FirstName : ShippingCard.FirstName;
                info.ShippingLastName  = (user.BillingLikeShipping) ? BillingCard.LastName : ShippingCard.LastName;
                info.ShippingMIName    = (user.BillingLikeShipping) ? BillingCard.MiddleName : ShippingCard.MiddleName;
                info.ShippingFax       = (user.BillingLikeShipping) ? BillingCard.Fax : ShippingCard.Fax;
                info.ShippingAddress1  = (user.BillingLikeShipping) ? BillingCard.Address1 : ShippingCard.Address1;
                info.ShippingAddress2  = (user.BillingLikeShipping) ? BillingCard.Address2 : ShippingCard.Address2;
                info.ShippingCity      = (user.BillingLikeShipping) ? BillingCard.City : ShippingCard.City;
                info.ShippingZip       = (user.BillingLikeShipping) ? BillingCard.Zip : ShippingCard.Zip;
                info.ShippingState     = (user.BillingLikeShipping) ? BillingCard.State : ShippingCard.State;
                info.ShippingWorkPhone = (user.BillingLikeShipping) ? BillingCard.WorkPhone : ShippingCard.WorkPhone;
                info.ShippingPhone     = (user.BillingLikeShipping) ? BillingCard.HomePhone : ShippingCard.HomePhone;
                info.ShippingCountry   = (user.BillingLikeShipping) ? BillingCard.Country_ID : ShippingCard.Country_ID;

                dco.Data = info;
                CacheRepository.Add(dco);
            }
            catch (Exception ex)
            {
                Logger.LogException("[user_id=" + user_id.ToString() + "]", ex);
                return(null);
            }
            return(info);
        }