Beispiel #1
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);
        }
Beispiel #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);
        }
Beispiel #3
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);
        }