예제 #1
0
 private static string GetFormatedText(EF6.MemberVipLineOfOperation target, string[] textField, string textFormatString)
 {
     for (int i = 0; i < textField.Length; i++)
     {
         PropertyInfo pi = target.GetType().GetProperty(textField[i]);
         textFormatString = textFormatString.Replace("{" + i.ToString() + "}", pi != null ? pi.GetValue(target, null).ToString() : string.Empty);
     }
     return(textFormatString);
 }
예제 #2
0
        /// <summary>
        /// Get a EF6.MemberVipLineOfOperation object from the database using the given VipLooId
        /// </summary>
        /// <param name="vipLooId">The primary key value</param>
        /// <returns>A EF6.MemberVipLineOfOperation object</returns>
        public static EF6.MemberVipLineOfOperation Get(Guid vipLooId)
        {
            EF6.MemberVipLineOfOperation result = null;

            using (var ctx = new EF6.RT2020Entities())
            {
                result = ctx.MemberVipLineOfOperation.Where(x => x.VipLooId == vipLooId).AsNoTracking().FirstOrDefault();
            }

            return(result);
        }
예제 #3
0
        /// <summary>
        /// Get a EF6.MemberVipLineOfOperation object from the database using the given QueryString
        /// </summary>
        /// <param name="vipLooId">The primary key value</param>
        /// <returns>A EF6.MemberVipLineOfOperation object</returns>
        public static EF6.MemberVipLineOfOperation Get(string whereClause)
        {
            EF6.MemberVipLineOfOperation result = null;

            using (var ctx = new EF6.RT2020Entities())
            {
                result = ctx.MemberVipLineOfOperation
                         .SqlQuery(string.Format("Select * from MemberVipLineOfOperation Where {0}", whereClause))
                         .AsNoTracking()
                         .FirstOrDefault();
            }

            return(result);
        }
예제 #4
0
        private bool DoPromote()
        {
            bool result = false;

            using (var ctx = new EF6.RT2020Entities())
            {
                using (var scope = ctx.Database.BeginTransaction())
                {
                    try
                    {
                        foreach (var item in dsMemberList)
                        {
                            var id = Guid.Empty;

                            #region Save Member Core Data
                            var member = ctx.Member.Where(x => x.MemberNumber == item.VIPNO).FirstOrDefault();
                            if (member == null)
                            {
                                #region add new Member
                                member              = new EF6.Member();
                                member.MemberId     = Guid.NewGuid();
                                member.MemberNumber = item.VIPNO;

                                member.Status    = (int)EnumHelper.Status.Active;
                                member.CreatedBy = ConfigHelper.CurrentUserId;
                                member.CreatedOn = DateTime.Now;
                                member.Retired   = false;

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

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

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

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

                                case "I":
                                    member.Status = (int)EnumHelper.Status.Inactive;
                                    break;
                                }
                            }
                            else
                            {
                                member.Status = ctx.Entry(member).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)
                            //{
                            //    member.Status = (int)EnumHelper.Status.Deleted;
                            //}
                            #endregion

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

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

                            ctx.SaveChanges();
                            id = member.MemberId;
                            #endregion

                            #region SaveMemberAddresses(memberId, item);
                            #region English Address
                            var    enAddressTypeId = MemberAddressTypeEx.GetIdByCode("ADDR_EN");
                            string enAddress       = item.ADDRESS1 + Environment.NewLine + item.ADDRESS2 + Environment.NewLine + item.ADDRESS3 + Environment.NewLine + item.ADDRESS4;

                            var addressEn = ctx.MemberAddress.Where(x => x.MemberId == id && x.AddressTypeId == enAddressTypeId).FirstOrDefault();
                            if (addressEn == null)
                            {
                                addressEn               = new EF6.MemberAddress();
                                addressEn.AddressId     = Guid.NewGuid();
                                addressEn.AddressTypeId = enAddressTypeId;
                                addressEn.MemberId      = id;

                                ctx.MemberAddress.Add(addressEn);
                            }

                            addressEn.Address        = enAddress;
                            addressEn.PostalCode     = string.Empty;
                            addressEn.CountryId      = Guid.Empty;
                            addressEn.ProvinceId     = Guid.Empty;
                            addressEn.CityId         = Guid.Empty;
                            addressEn.District       = string.Empty;
                            addressEn.Mailing        = false;
                            addressEn.PhoneTag1      = PhoneTagEx.GetPhoneTagIdByPriority(1);
                            addressEn.PhoneTag1Value = item.TELW;
                            addressEn.PhoneTag2      = PhoneTagEx.GetPhoneTagIdByPriority(2);
                            addressEn.PhoneTag2Value = item.TELH;
                            addressEn.PhoneTag3      = PhoneTagEx.GetPhoneTagIdByPriority(3);
                            addressEn.PhoneTag3Value = item.FAX;
                            addressEn.PhoneTag4      = PhoneTagEx.GetPhoneTagIdByPriority(4);
                            addressEn.PhoneTag4Value = item.TELOTHER;
                            addressEn.PhoneTag5      = PhoneTagEx.GetPhoneTagIdByPriority(5);
                            addressEn.PhoneTag5Value = item.TELP;

                            ctx.SaveChanges();
                            #endregion

                            #region Chinese Address
                            var    cnAddressTypeId = MemberAddressTypeEx.GetIdByCode("ADDR_CN");
                            string cnAddress       = item.ADDRESS1C + Environment.NewLine + item.ADDRESS2C + Environment.NewLine + item.ADDRESS3C + Environment.NewLine + item.ADDRESS4C;

                            var addressCn = ctx.MemberAddress.Where(x => x.MemberId == id && x.AddressTypeId == cnAddressTypeId).FirstOrDefault();
                            if (addressCn == null)
                            {
                                addressCn               = new EF6.MemberAddress();
                                addressCn.AddressId     = Guid.NewGuid();
                                addressCn.AddressTypeId = cnAddressTypeId;
                                addressCn.MemberId      = id;

                                ctx.MemberAddress.Add(addressCn);
                            }

                            addressCn.Address        = cnAddress;
                            addressCn.PostalCode     = string.Empty;
                            addressCn.CountryId      = Guid.Empty;
                            addressCn.ProvinceId     = Guid.Empty;
                            addressCn.CityId         = Guid.Empty;
                            addressCn.District       = string.Empty;
                            addressCn.Mailing        = false;
                            addressCn.PhoneTag1      = PhoneTagEx.GetPhoneTagIdByPriority(1);
                            addressCn.PhoneTag1Value = item.TELW;
                            addressCn.PhoneTag2      = PhoneTagEx.GetPhoneTagIdByPriority(2);
                            addressCn.PhoneTag2Value = item.TELH;
                            addressCn.PhoneTag3      = PhoneTagEx.GetPhoneTagIdByPriority(3);
                            addressCn.PhoneTag3Value = item.FAX;
                            addressCn.PhoneTag4      = PhoneTagEx.GetPhoneTagIdByPriority(4);
                            addressCn.PhoneTag4Value = item.TELOTHER;
                            addressCn.PhoneTag5      = PhoneTagEx.GetPhoneTagIdByPriority(5);
                            addressCn.PhoneTag5Value = item.TELP;

                            ctx.SaveChanges();
                            #endregion
                            #endregion

                            #region SaveMemberSmartTags(memberId, item); HACK: 呢部份係 hard coded,如果 dbo.SmartTag4Member 唔一樣就會出事

                            #region 1.Grade
                            //SaveMemberSmartTag(memberId, GetSmartTagId("Grade", 1), objTempVip.GRADE);
                            // 2021.01.28 paulus: 由 GetIdByTagCodeAndPriority 改為 GetIdByPriority,咁樣日後個 TagCode 改咗都照 update 倒
                            var tagId = SmartTag4MemberEx.GetIdByPriority(1);
                            if (tagId != Guid.Empty)
                            {
                                var oTag1 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag1 == null)
                                {
                                    oTag1            = new EF6.MemberSmartTag();
                                    oTag1.SmartTagId = Guid.NewGuid();
                                    oTag1.MemberId   = id;
                                    oTag1.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag1);
                                }

                                oTag1.SmartTagValue = item.GRADE;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 2.Sex
                            //SaveMemberSmartTag(memberId, GetSmartTagId("Sex", 2), objTempVip.SEX);
                            tagId = SmartTag4MemberEx.GetIdByPriority(2);
                            if (tagId != Guid.Empty)
                            {
                                var oTag2 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag2 == null)
                                {
                                    oTag2            = new EF6.MemberSmartTag();
                                    oTag2.SmartTagId = Guid.NewGuid();
                                    oTag2.MemberId   = id;
                                    oTag2.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag2);
                                }

                                oTag2.SmartTagValue = item.SEX;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 3.Race
                            //SaveMemberSmartTag(memberId, GetSmartTagId("Race", 3), objTempVip.RACE);
                            tagId = SmartTag4MemberEx.GetIdByPriority(3);
                            if (tagId != Guid.Empty)
                            {
                                var oTag3 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag3 == null)
                                {
                                    oTag3            = new EF6.MemberSmartTag();
                                    oTag3.SmartTagId = Guid.NewGuid();
                                    oTag3.MemberId   = id;
                                    oTag3.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag3);
                                }

                                oTag3.SmartTagValue = item.RACE;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 4.Age Group
                            //SaveMemberSmartTag(memberId, GetSmartTagId("Age Group", 4), objTempVip.AGE_GROUP);
                            tagId = SmartTag4MemberEx.GetIdByPriority(4);
                            if (tagId != Guid.Empty)
                            {
                                var oTag4 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag4 == null)
                                {
                                    oTag4            = new EF6.MemberSmartTag();
                                    oTag4.SmartTagId = Guid.NewGuid();
                                    oTag4.MemberId   = id;
                                    oTag4.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag4);
                                }

                                oTag4.SmartTagValue = item.AGE_GROUP;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 5.CodeNumber
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("CodeNumber", 5), objTempVip.CODENUM);
                            tagId = SmartTag4MemberEx.GetIdByPriority(5);
                            if (tagId != Guid.Empty)
                            {
                                var oTag5 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag5 == null)
                                {
                                    oTag5            = new EF6.MemberSmartTag();
                                    oTag5.SmartTagId = Guid.NewGuid();
                                    oTag5.MemberId   = id;
                                    oTag5.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag5);
                                }

                                oTag5.SmartTagValue = item.CODENUM;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 6.LoyaltyNum
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("LoyaltyNum", 6), objTempVip.LOYALTYNUM);
                            tagId = SmartTag4MemberEx.GetIdByPriority(6);
                            if (tagId != Guid.Empty)
                            {
                                var oTag6 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag6 == null)
                                {
                                    oTag6            = new EF6.MemberSmartTag();
                                    oTag6.SmartTagId = Guid.NewGuid();
                                    oTag6.MemberId   = id;
                                    oTag6.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag6);
                                }

                                oTag6.SmartTagValue = item.LOYALTYNUM;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 7.Profile
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("Profile", 7), objTempVip.PROFILE);
                            tagId = SmartTag4MemberEx.GetIdByPriority(7);
                            if (tagId != Guid.Empty)
                            {
                                var oTag7 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag7 == null)
                                {
                                    oTag7            = new EF6.MemberSmartTag();
                                    oTag7.SmartTagId = Guid.NewGuid();
                                    oTag7.MemberId   = id;
                                    oTag7.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag7);
                                }

                                oTag7.SmartTagValue = item.PROFILE;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 8.DOB
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("DOB", 8), objTempVip.DATE_BIRTH.Value.ToString("yyyy-MM-dd"));
                            tagId = SmartTag4MemberEx.GetIdByPriority(8);
                            if (tagId != Guid.Empty)
                            {
                                var oTag8 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag8 == null)
                                {
                                    oTag8            = new EF6.MemberSmartTag();
                                    oTag8.SmartTagId = Guid.NewGuid();
                                    oTag8.MemberId   = id;
                                    oTag8.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag8);
                                }

                                oTag8.SmartTagValue = item.DATE_BIRTH.HasValue ? item.DATE_BIRTH.Value.ToString("yyyy-MM-dd") : "";
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 9.DOR
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("DOR", 9), objTempVip.DATE_REGIS.Value.ToString("yyyy-MM-dd"));
                            tagId = SmartTag4MemberEx.GetIdByPriority(9);
                            if (tagId != Guid.Empty)
                            {
                                var oTag9 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag9 == null)
                                {
                                    oTag9            = new EF6.MemberSmartTag();
                                    oTag9.SmartTagId = Guid.NewGuid();
                                    oTag9.MemberId   = id;
                                    oTag9.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag9);
                                }

                                oTag9.SmartTagValue = item.DATE_REGIS.HasValue ? item.DATE_REGIS.Value.ToString("yyyy-MM-dd") : "";
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 10.HKID
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("HKID", 10), objTempVip.ID_NO);
                            tagId = SmartTag4MemberEx.GetIdByPriority(10);
                            if (tagId != Guid.Empty)
                            {
                                var oTag10 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag10 == null)
                                {
                                    oTag10            = new EF6.MemberSmartTag();
                                    oTag10.SmartTagId = Guid.NewGuid();
                                    oTag10.MemberId   = id;
                                    oTag10.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag10);
                                }

                                oTag10.SmartTagValue = item.ID_NO;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 11.Nationalit
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("Nationalit", 11), objTempVip.NATION);
                            tagId = SmartTag4MemberEx.GetIdByPriority(11);
                            if (tagId != Guid.Empty)
                            {
                                var oTag11 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag11 == null)
                                {
                                    oTag11            = new EF6.MemberSmartTag();
                                    oTag11.SmartTagId = Guid.NewGuid();
                                    oTag11.MemberId   = id;
                                    oTag11.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag11);
                                }

                                oTag11.SmartTagValue = item.NATION;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 12.Email
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("Email", 12), objTempVip.EMAIL);
                            tagId = SmartTag4MemberEx.GetIdByPriority(12);
                            if (tagId != Guid.Empty)
                            {
                                var oTag12 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag12 == null)
                                {
                                    oTag12            = new EF6.MemberSmartTag();
                                    oTag12.SmartTagId = Guid.NewGuid();
                                    oTag12.MemberId   = id;
                                    oTag12.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag12);
                                }

                                oTag12.SmartTagValue = item.EMAIL;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 13.ComName EN
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("ComName EN", 13), objTempVip.COMPNAME);
                            tagId = SmartTag4MemberEx.GetIdByPriority(13);
                            if (tagId != Guid.Empty)
                            {
                                var oTag13 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag13 == null)
                                {
                                    oTag13            = new EF6.MemberSmartTag();
                                    oTag13.SmartTagId = Guid.NewGuid();
                                    oTag13.MemberId   = id;
                                    oTag13.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag13);
                                }

                                oTag13.SmartTagValue = item.COMPNAME;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #region 14.ComName CN
                            //this.SaveMemberSmartTag(memberId, GetSmartTagId("ComName CN", 14), objTempVip.COMPNAMEC);
                            tagId = SmartTag4MemberEx.GetIdByPriority(14);
                            if (tagId != Guid.Empty)
                            {
                                var oTag14 = ctx.MemberSmartTag.Where(x => x.MemberId == id && x.TagId == tagId).FirstOrDefault();
                                if (oTag14 == null)
                                {
                                    oTag14            = new EF6.MemberSmartTag();
                                    oTag14.SmartTagId = Guid.NewGuid();
                                    oTag14.MemberId   = id;
                                    oTag14.TagId      = tagId;

                                    ctx.MemberSmartTag.Add(oTag14);
                                }

                                oTag14.SmartTagValue = item.COMPNAMEC;
                                ctx.SaveChanges();
                            }
                            #endregion

                            #endregion

                            #region SaveMemberVip(memberId, item);
                            var oVip = ctx.MemberVipData.Where(x => x.MemberId == id).FirstOrDefault();
                            if (oVip == null)
                            {
                                oVip             = new EF6.MemberVipData();
                                oVip.MemberVipId = Guid.NewGuid();
                                oVip.MemberId    = id;
                                oVip.VipNumber   = item.VIPNO;

                                ctx.MemberVipData.Add(oVip);
                            }

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

                            ctx.SaveChanges();
                            var memberVipId = oVip.MemberVipId;

                            #region this.UpdateLoo(oVip.MemberVipId, item);
                            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(item.LOOID);

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

                            #region this.UpdateSupplement(oVip.MemberVipId, item);
                            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  = item.CUSTNUM;
                                oSupplement.BRANCH          = item.BRANCH;

                                ctx.MemberVipSupplement.Add(oSupplement);
                            }

                            oSupplement.Remarks1             = item.R1;
                            oSupplement.Remarks2             = item.R2;
                            oSupplement.Remarks3             = item.R3;
                            oSupplement.Nature               = item.NATURE;
                            oSupplement.Memo                 = item.MEMO;
                            oSupplement.Photo                = item.PHOTO;
                            oSupplement.MostVisitedMalls1    = item.MALL1;
                            oSupplement.MostVisitedMalls2    = item.MALL2;
                            oSupplement.MostVisitedMalls3    = item.MALL3;
                            oSupplement.MostBoughtBrands1    = item.BRAND1;
                            oSupplement.MostBoughtBrands2    = item.BRAND2;
                            oSupplement.MostBoughtBrands3    = item.BRAND3;
                            oSupplement.MostReadMagazine1    = item.MAGAZINE1;
                            oSupplement.MostReadMagazine2    = item.MAGAZINE2;
                            oSupplement.MostReadMagazine3    = item.MAGAZINE3;
                            oSupplement.MostUsedCreditCards1 = item.CARD1;
                            oSupplement.MostUsedCreditCards2 = item.CARD2;
                            oSupplement.MostUsedCreditCards3 = item.CARD3;
                            ctx.SaveChanges();
                            #endregion                            #endregion

                            #endregion

                            ctx.MemberApply4TempVip.Remove(item);
                            ctx.SaveChanges();
                        }

                        scope.Commit();
                        result = true;
                    }
                    catch (Exception ex)
                    {
                        scope.Rollback();
                    }
                }
            }

            return(result);
        }
예제 #5
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
            }
        }