Exemple #1
0
        private void SaveMemberAddresses(Guid memberId, EF6.MemberApply4TempVip objTempVip)
        {
            // English Address
            var    enAddressTypeId = MemberAddressTypeEx.GetIdByCode("ADDR_EN");
            string enAddress       = objTempVip.ADDRESS1 + Environment.NewLine + objTempVip.ADDRESS2 + Environment.NewLine + objTempVip.ADDRESS3 + Environment.NewLine + objTempVip.ADDRESS4;

            SaveMemberAddress(memberId, enAddress, objTempVip.TELW, objTempVip.TELH, objTempVip.FAX, objTempVip.TELOTHER, objTempVip.TELP, enAddressTypeId);

            // Chinese Address
            var    chAddressTypeId = MemberAddressTypeEx.GetIdByCode("ADDR_CN");
            string chAddress       = objTempVip.ADDRESS1C + Environment.NewLine + objTempVip.ADDRESS2C + Environment.NewLine + objTempVip.ADDRESS3C + Environment.NewLine + objTempVip.ADDRESS4C;

            SaveMemberAddress(memberId, chAddress, objTempVip.TELW, objTempVip.TELH, objTempVip.FAX, objTempVip.TELOTHER, objTempVip.TELP, chAddressTypeId);
        }
Exemple #2
0
        private void SaveMemberSmartTags(Guid memberId, EF6.MemberApply4TempVip objTempVip)
        {
            // 1.Grade
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Grade", 1), objTempVip.GRADE);

            // 2.Sex
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Sex", 2), objTempVip.SEX);

            // 3.Race
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Race", 3), objTempVip.RACE);

            // 4.Age Group
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Age Group", 4), objTempVip.AGE_GROUP);

            // 5.CodeNumber
            this.SaveMemberSmartTag(memberId, GetSmartTagId("CodeNumber", 5), objTempVip.CODENUM);

            // 6.LoyaltyNum
            this.SaveMemberSmartTag(memberId, GetSmartTagId("LoyaltyNum", 6), objTempVip.LOYALTYNUM);

            // 7.Profile
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Profile", 7), objTempVip.PROFILE);

            // 8.DOB
            this.SaveMemberSmartTag(memberId, GetSmartTagId("DOB", 8), objTempVip.DATE_BIRTH.Value.ToString("yyyy-MM-dd"));

            // 9.DOR
            this.SaveMemberSmartTag(memberId, GetSmartTagId("DOR", 9), objTempVip.DATE_REGIS.Value.ToString("yyyy-MM-dd"));

            // 10.HKID
            this.SaveMemberSmartTag(memberId, GetSmartTagId("HKID", 10), objTempVip.ID_NO);

            // 11.Nationalit
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Nationalit", 11), objTempVip.NATION);

            // 12.Email
            this.SaveMemberSmartTag(memberId, GetSmartTagId("Email", 12), objTempVip.EMAIL);

            // 13.ComName EN
            this.SaveMemberSmartTag(memberId, GetSmartTagId("ComName EN", 13), objTempVip.COMPNAME);

            // 14.ComName CN
            this.SaveMemberSmartTag(memberId, GetSmartTagId("ComName CN", 14), objTempVip.COMPNAMEC);
        }
Exemple #3
0
        private void SaveMemberVip(Guid memberId, EF6.MemberApply4TempVip objTempVip)
        {
            using (var ctx = new EF6.RT2020Entities())
            {
                string query = "MemberId = '" + memberId.ToString() + "'";
                var    oVip  = ctx.MemberVipData.Where(x => x.MemberId == memberId).FirstOrDefault();
                if (oVip == null)
                {
                    oVip             = new EF6.MemberVipData();
                    oVip.MemberVipId = Guid.NewGuid();
                    oVip.MemberId    = memberId;
                    oVip.VipNumber   = objTempVip.VIPNO;

                    ctx.MemberVipData.Add(oVip);
                }

                oVip.CARD_ISSUE       = objTempVip.CARD_ISSUE;
                oVip.CARD_EXPIRE      = objTempVip.CARD_EXPIRE;
                oVip.CARD_NAME        = objTempVip.CARD_NAME;
                oVip.CARD_RECEIVE     = objTempVip.CARD_RECEIVE.Value;
                oVip.CARD_ACTIVE      = objTempVip.CARD_ACTIVE.Value;
                oVip.FORMER_PPNO      = objTempVip.FORMER_PPNO;
                oVip.MigrationDate    = objTempVip.DATE_MIGRATE;
                oVip.CommencementDate = objTempVip.DATE_COMM;
                oVip.CreditLimit      = objTempVip.ACREDIT;
                oVip.CreditTerms      = objTempVip.TERMS;
                oVip.PaymentDiscount  = (decimal)objTempVip.PYDISC;
                oVip.AddOnDiscount    = objTempVip.BADDONDISC == "Y" ? true : false;
                oVip.StaffQuota       = objTempVip.STAFF_QUOTA;
                ctx.SaveChanges();

                var memberVipId = oVip.MemberVipId;
                #region this.UpdateLoo(oVip.MemberVipId, objTempVip);
                var oVipLoo = ctx.MemberVipLineOfOperation.Where(x => x.MemberVipId == memberVipId).FirstOrDefault();
                if (oVipLoo == null)
                {
                    oVipLoo                   = new EF6.MemberVipLineOfOperation();
                    oVipLoo.VipLooId          = Guid.NewGuid();
                    oVipLoo.VipLooId          = System.Guid.NewGuid();
                    oVipLoo.MemberVipId       = memberVipId;
                    oVipLoo.LineOfOperationId = LineOfOperationEx.GetLineOfOperationIdByName(objTempVip.LOOID);

                    ctx.MemberVipLineOfOperation.Add(oVipLoo);
                }
                oVipLoo.NormalDiscount    = (decimal)objTempVip.NRDISC;
                oVipLoo.PromotionDiscount = (decimal)objTempVip.PRO_DISC;
                ctx.SaveChanges();
                #endregion

                #region this.UpdateSupplement(oVip.MemberVipId, objTempVip);
                var oSupplement = ctx.MemberVipSupplement.Where(x => x.MemberVipId == memberVipId).FirstOrDefault();
                if (oSupplement == null)
                {
                    oSupplement = new EF6.MemberVipSupplement();
                    oSupplement.VipSupplementId = Guid.NewGuid();
                    oSupplement.VipSupplementId = System.Guid.NewGuid();
                    oSupplement.MemberVipId     = memberVipId;
                    oSupplement.CustomerNumber  = objTempVip.CUSTNUM;
                    oSupplement.BRANCH          = objTempVip.BRANCH;

                    ctx.MemberVipSupplement.Add(oSupplement);
                }

                oSupplement.Remarks1             = objTempVip.R1;
                oSupplement.Remarks2             = objTempVip.R2;
                oSupplement.Remarks3             = objTempVip.R3;
                oSupplement.Nature               = objTempVip.NATURE;
                oSupplement.Memo                 = objTempVip.MEMO;
                oSupplement.Photo                = objTempVip.PHOTO;
                oSupplement.MostVisitedMalls1    = objTempVip.MALL1;
                oSupplement.MostVisitedMalls2    = objTempVip.MALL2;
                oSupplement.MostVisitedMalls3    = objTempVip.MALL3;
                oSupplement.MostBoughtBrands1    = objTempVip.BRAND1;
                oSupplement.MostBoughtBrands2    = objTempVip.BRAND2;
                oSupplement.MostBoughtBrands3    = objTempVip.BRAND3;
                oSupplement.MostReadMagazine1    = objTempVip.MAGAZINE1;
                oSupplement.MostReadMagazine2    = objTempVip.MAGAZINE2;
                oSupplement.MostReadMagazine3    = objTempVip.MAGAZINE3;
                oSupplement.MostUsedCreditCards1 = objTempVip.CARD1;
                oSupplement.MostUsedCreditCards2 = objTempVip.CARD2;
                oSupplement.MostUsedCreditCards3 = objTempVip.CARD3;
                ctx.SaveChanges();
                #endregion
            }
        }
Exemple #4
0
        private Guid SaveMemberCoreData(EF6.MemberApply4TempVip objTempVip, bool canDelete)
        {
            Guid result = Guid.Empty, memberId = Guid.Empty;
            bool isNew = false;

            var memberNumber = objTempVip.VIPNO.Trim();

            using (var ctx = new EF6.RT2020Entities())
            {
                var objMember = ctx.Member.Where(x => x.MemberNumber == memberNumber).FirstOrDefault();
                if (objMember == null)
                {
                    #region add new Member
                    isNew = true;

                    objMember              = new EF6.Member();
                    objMember.MemberId     = Guid.NewGuid();
                    objMember.MemberNumber = objTempVip.VIPNO;

                    objMember.CreatedBy = ConfigHelper.CurrentUserId;
                    objMember.CreatedOn = DateTime.Now;
                    objMember.Retired   = false;
                    objMember.RetiredBy = Guid.Empty;
                    objMember.RetiredOn = new DateTime(1900, 1, 1);

                    ctx.Member.Add(objMember);
                    #endregion
                }

                #region Check the temp vip DLFLAG
                if (objTempVip.DLFLAG.Trim().Length > 0)
                {
                    switch (objTempVip.DLFLAG.Trim().ToUpper())
                    {
                    case "A":
                    case "":
                    default:
                        objMember.Status = (int)EnumHelper.Status.Active;
                        break;

                    case "M":
                        objMember.Status = (int)EnumHelper.Status.Modified;
                        break;

                    case "D":
                        objMember.Status = (int)EnumHelper.Status.Deleted;
                        break;

                    case "I":
                        objMember.Status = (int)EnumHelper.Status.Inactive;
                        break;
                    }
                }
                else
                {
                    objMember.Status = ctx.Entry(objMember).State == EntityState.Added ?
                                       (int)EnumHelper.Status.Active : (int)EnumHelper.Status.Modified;
                }
                #endregion

                #region Option 2. Migrate Temporary VIP to Permanent VIP With Delete
                if (canDelete)
                {
                    objMember.Status = (int)EnumHelper.Status.Deleted;
                }
                #endregion

                #region update Member core data
                objMember.WorkplaceId    = Guid.Empty;
                objMember.ClassId        = MemberHelper.GetClassId(objTempVip.PHONEBOOK); //Class
                objMember.GroupId        = MemberHelper.GetGroupId(objTempVip.GROUP);
                objMember.MemberInitial  = objTempVip.NNAME;                              // Nick Name
                objMember.SalutationId   = MemberHelper.GetSaluteId(objTempVip.SALUTE);
                objMember.FirstName      = objTempVip.FNAME;                              // First Name
                objMember.LastName       = objTempVip.LNAME;                              // Last Name
                objMember.FullName       = objTempVip.FNAME + "," + objTempVip.LNAME;     // Full Name
                objMember.FullName_Chs   = objTempVip.CNAME;                              // Chinese Name (S)
                objMember.FullName_Cht   = objTempVip.CNAME;                              // Chinese Name (T)
                objMember.JobTitleId     = JobTitleEx.GetJobTitleIdByName(objTempVip.TITLE);
                objMember.AssignedTo     = Guid.Empty;
                objMember.Remarks        = objTempVip.REMARKS;
                objMember.NormalDiscount = (decimal)objTempVip.NRDISC;
                objMember.DownloadToPOS  = true;
                objMember.ModifiedBy     = ConfigHelper.CurrentUserId;
                objMember.ModifiedOn     = DateTime.Now;

                if (objMember.Status == (int)EnumHelper.Status.Deleted || objMember.Status == (int)EnumHelper.Status.Inactive)
                {
                    objMember.Retired   = false;
                    objMember.RetiredBy = Guid.Empty;
                    objMember.RetiredOn = new DateTime(1900, 1, 1);
                }
                #endregion

                ctx.SaveChanges();

                result = memberId = objMember.MemberId;
            }

            return(result);
        }