Пример #1
0
        private void SaveREJ()
        {
            using (var ctx = new EF6.RT2020Entities())
            {
                using (var scope = ctx.Database.BeginTransaction())
                {
                    try
                    {
                        var oHeader = ctx.InvtBatchCAP_Header.Find(this.REJId);
                        if (oHeader == null)
                        {
                            #region add new InvtBatchCAP_Header
                            oHeader          = new EF6.InvtBatchCAP_Header();
                            oHeader.HeaderId = Guid.NewGuid();
                            txtTxNumber.Text = SystemInfoHelper.Settings.QueuingTxNumber(EnumHelper.TxType.REJ);
                            oHeader.TxNumber = txtTxNumber.Text;
                            oHeader.TxType   = EnumHelper.TxType.REJ.ToString();

                            oHeader.CreatedBy = ConfigHelper.CurrentUserId;
                            oHeader.CreatedOn = DateTime.Now;

                            ctx.InvtBatchCAP_Header.Add(oHeader);
                            #endregion
                        }
                        #region InvtBatchCAP_Header core data
                        oHeader.TxDate = dtpRecvDate.Value;
                        oHeader.Status = Convert.ToInt32(cboStatus.Text == "HOLD" ? EnumHelper.Status.Draft.ToString("d") : EnumHelper.Status.Active.ToString("d"));

                        oHeader.WorkplaceId      = new Guid(cboWorkplace.SelectedValue.ToString());
                        oHeader.StaffId          = new Guid(cboOperatorCode.SelectedValue.ToString());
                        oHeader.SupplierId       = new Guid(cboSupplierList.SelectedValue.ToString());
                        oHeader.SupplierRefernce = txtSupplierInvoice.Text;
                        oHeader.Remarks          = txtRemarks.Text;
                        oHeader.Reference        = txtRefNumber.Text;
                        oHeader.LinkToAP         = chkAPLink.Checked;

                        oHeader.ModifiedBy = ConfigHelper.CurrentUserId;
                        oHeader.ModifiedOn = DateTime.Now;
                        #endregion

                        decimal totlaAmount = 0;
                        decimal.TryParse(txtTotalAmount.Text, out totlaAmount);
                        oHeader.TotalAmount = totlaAmount;

                        ctx.SaveChanges();

                        #region log activity
                        RT2020.Controls.Log4net.LogInfo(
                            ctx.Entry(oHeader).State == System.Data.Entity.EntityState.Added ?
                            RT2020.Controls.Log4net.LogAction.Create :
                            RT2020.Controls.Log4net.LogAction.Update, oHeader.ToString());
                        #endregion

                        this.REJId = oHeader.HeaderId;

                        #region SaveREJDetail();
                        foreach (ListViewItem listItem in lvDetailsList.Items)
                        {
                            Guid detailId = Guid.Empty, productId = Guid.Empty;

                            if (Guid.TryParse(listItem.Text.Trim(), out detailId) && Guid.TryParse(listItem.SubItems[11].Text.Trim(), out productId))
                            {
                                //System.Guid detailId = new Guid(listItem.Text.Trim());
                                var oDetail = ctx.InvtBatchCAP_Details.Find(detailId);
                                if (oDetail == null)
                                {
                                    oDetail            = new EF6.InvtBatchCAP_Details();
                                    oDetail.DetailsId  = Guid.NewGuid();
                                    oDetail.HeaderId   = this.REJId;
                                    oDetail.TxNumber   = txtTxNumber.Text;
                                    oDetail.TxType     = txtTxType.Text;
                                    oDetail.LineNumber = Convert.ToInt32(listItem.SubItems[1].Text.Length == 0 ? "1" : listItem.SubItems[1].Text);

                                    ctx.InvtBatchCAP_Details.Add(oDetail);
                                }
                                oDetail.ProductId  = productId; // new Guid(listItem.SubItems[11].Text.Trim());
                                oDetail.Qty        = Convert.ToDecimal(listItem.SubItems[8].Text.Length == 0 ? "0" : listItem.SubItems[8].Text);
                                oDetail.UnitAmount = Convert.ToDecimal(listItem.SubItems[9].Text.Length == 0 ? "0" : listItem.SubItems[9].Text);
                                oDetail.UnitAmountInForeignCurrency = Convert.ToDecimal(listItem.SubItems[9].Text.Length == 0 ? "0" : listItem.SubItems[9].Text);

                                if (listItem.SubItems[2].Text.Trim().ToUpper() == "REMOVED" && detailId != System.Guid.Empty)
                                {
                                    ctx.InvtBatchCAP_Details.Remove(oDetail);
                                }
                                ctx.SaveChanges();
                            }
                        }
                        #endregion

                        #region UpdateHeaderInfo(); HACK: 點解喺呢度先 update Total Amount? 我將佢搬咗上去
                        //oHeader.TotalAmount = Convert.ToDecimal(Common.Utility.IsNumeric(txtTotalAmount.Text) ? txtTotalAmount.Text : "0");
                        //ctx.SaveChanges();

                        // log activity (Update)
                        //RT2020.Controls.Log4net.LogInfo(RT2020.Controls.Log4net.LogAction.Update, oHeader.ToString());
                        #endregion

                        scope.Commit();
                    }
                    catch (Exception ex)
                    {
                        scope.Rollback();
                    }
                }
            }
        }
Пример #2
0
        public bool SaveGeneralData()
        {
            var result = false;

            try
            {
                using (var ctx = new EF6.RT2020Entities())
                {
                    #region save core data
                    var staff = ctx.Staff.Find(_StaffId);
                    if (staff == null)
                    {
                        #region add new dbo.Staff
                        staff             = new EF6.Staff();
                        staff.StaffId     = Guid.NewGuid();
                        staff.StaffNumber = _StaffNumber;
                        staff.CreatedOn   = DateTime.Now;
                        staff.CreatedBy   = ConfigHelper.CurrentUserId;
                        staff.Status      = Convert.ToInt32(EnumHelper.Status.Active.ToString("d"));

                        ctx.Staff.Add(staff);

                        _StaffId = staff.StaffId;
                        #endregion
                    }
                    else
                    {
                        staff.Status = Convert.ToInt32(EnumHelper.Status.Modified.ToString("d"));
                    }

                    staff.StaffCode    = txtInitial.Text.Trim();
                    staff.FirstName    = txtFirstName.Text.Trim();
                    staff.LastName     = txtLastName.Text.Trim();
                    staff.FullName     = txtName.Text.Trim();
                    staff.FullName_Chs = txtNameChs.Text.Trim();
                    staff.FullName_Cht = txtNameCht.Text.Trim();
                    staff.Password     = txtPassword.Text.Trim();
                    if ((Guid)cboDeptCode.SelectedValue != Guid.Empty)
                    {
                        staff.DeptId = (Guid)cboDeptCode.SelectedValue;
                    }
                    if ((Guid)cboPosition.SelectedValue != Guid.Empty)
                    {
                        staff.JobTitleId = (Guid)cboPosition.SelectedValue;
                    }
                    if ((Guid)cmbStaffGrade.SelectedValue != Guid.Empty)
                    {
                        staff.GroupId = (Guid)cmbStaffGrade.SelectedValue;
                    }

                    staff.DownloadToCounter = true;
                    staff.DownloadToPOS     = true;
                    staff.ModifiedOn        = DateTime.Now;
                    staff.ModifiedBy        = ConfigHelper.CurrentUserId;

                    ctx.SaveChanges();

                    // 2013.11.27 paulus: 要同時更新 UserProfile 的資料,否則 login 時就沒有這個 Staff 的資料
                    RT2020.Controls.UserProfile.SaveRec(staff.StaffId, (int)EnumHelper.UserType.Staff, staff.StaffNumber, staff.Password, staff.StaffCode);

                    #region log activity (Update)
                    RT2020.Controls.Log4net.LogInfo(ctx.Entry(staff).State == EntityState.Added ?
                                                    RT2020.Controls.Log4net.LogAction.Create : RT2020.Controls.Log4net.LogAction.Update,
                                                    staff.ToString());
                    #endregion

                    #endregion

                    #region save staff HR
                    var hr = ctx.StaffHR.Where(x => x.StaffId == _StaffId).FirstOrDefault();
                    if (hr == null)
                    {
                        #region add new dbo.StaffHR
                        hr         = new EF6.StaffHR();
                        hr.HRId    = Guid.NewGuid();
                        hr.StaffId = _StaffId;

                        ctx.StaffHR.Add(hr);
                        #endregion
                    }

                    hr.HiredOn              = datHiredOn.Value;
                    hr.EmploymentNumber     = txtEmploymen.Text.Trim();
                    hr.MedicalNumber        = txtMedical.Text.Trim();
                    hr.TC_PunchEnable_InOut = chkPunch.Checked;
                    hr.TC_AdminEnable       = chkAdministration.Checked;

                    ctx.SaveChanges();
                    #endregion
                }

                #region SaveSmartTagValues
                foreach (Control Ctrl in Controls)
                {
                    if (Ctrl.Name.Contains("SmartTag") && !Ctrl.Name.StartsWith("lbl"))
                    {
                        StaffSmartTagEx.SaveSmartTagValue(_StaffId, Ctrl);
                    }
                }
                #endregion

                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }
Пример #3
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);
        }
Пример #4
0
        public bool SaveGeneralData()
        {
            var result = false;

            try
            {
                using (var ctx = new EF6.RT2020Entities())
                {
                    #region save core data
                    var item = ctx.Supplier.Find(_SupplierId);
                    if (item == null)
                    {
                        #region add new dbo.Supplier
                        item              = new EF6.Supplier();
                        item.SupplierId   = Guid.NewGuid();
                        item.SupplierCode = _SupplierCode;

                        item.Status    = (int)EnumHelper.Status.Active;      //2014.01.04 paulus: 一開始就係 Active
                        item.CreatedBy = ConfigHelper.CurrentUserId;
                        item.CreatedOn = DateTime.Now;

                        ctx.Supplier.Add(item);

                        _SupplierId = item.SupplierId;
                        #endregion
                    }
                    item.SupplierInitial  = txtInitial.Text;
                    item.SupplierName     = txtName.Text;
                    item.SupplierName_Chs = txtNameChs.Text;
                    item.SupplierName_Cht = txtNameCht.Text;
                    if ((Guid)cboMarketSector.SelectedValue != Guid.Empty)
                    {
                        item.MarketSectorId = (Guid)cboMarketSector.SelectedValue;
                    }
                    item.Remarks = txtRemarks.Text;

                    if (ctx.Entry(item).State != EntityState.Added)
                    {
                        item.Status = Convert.ToInt32(EnumHelper.Status.Modified.ToString("d"));
                    }

                    item.ModifiedBy = ConfigHelper.CurrentUserId;
                    item.ModifiedOn = DateTime.Now;

                    ctx.SaveChanges();

                    #region log activity (Update)
                    RT2020.Controls.Log4net.LogInfo(ctx.Entry(item).State == EntityState.Added ?
                                                    RT2020.Controls.Log4net.LogAction.Create : RT2020.Controls.Log4net.LogAction.Update,
                                                    item.ToString());
                    #endregion

                    #endregion
                }

                #region SaveSmartTagValues
                foreach (Control Ctrl in Controls)
                {
                    if (Ctrl.Name.Contains("SmartTag") && !Ctrl.Name.StartsWith("lbl"))
                    {
                        SupplierSmartTagEx.SaveSmartTagValue(_SupplierId, Ctrl);
                    }
                }
                #endregion

                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }
Пример #5
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);
        }
Пример #6
0
        private bool Save()
        {
            var result = false;

            if (Verify() && IsValid())
            {
                bool canSave = false, isNew = false;

                using (var ctx = new EF6.RT2020Entities())
                {
                    var item = ctx.Supplier.Find(_SupplierId);
                    if (item == null)
                    {
                        item              = new EF6.Supplier();
                        item.SupplierId   = Guid.NewGuid();
                        item.SupplierCode = txtSupplierCode.Text.Trim();

                        item.Status    = (int)EnumHelper.Status.Active;      //2014.01.04 paulus: 一開始就係 Active
                        item.CreatedBy = ConfigHelper.CurrentUserId;
                        item.CreatedOn = DateTime.Now;

                        ctx.Supplier.Add(item);
                        _SupplierId   = item.SupplierId;
                        _SupplierCode = item.SupplierCode;
                    }
                    //item.SupplierInitial = general.txtInitial.Text;
                    //item.SupplierName = general.txtName.Text;
                    //item.SupplierName_Chs = general.txtNameChs.Text;
                    //item.SupplierName_Cht = general.txtNameCht.Text;
                    //item.AlternateSupplier = general.txtSmartTag1.Text;
                    //item.MarketSectorId = new Guid(general.cboMarketSector.SelectedValue.ToString());
                    //item.Remarks = general.txtRemarks.Text;

                    item.Status = ctx.Entry(item).State == EntityState.Added ?
                                  (int)EnumHelper.Status.Active : (int)EnumHelper.Status.Modified;

                    item.ModifiedBy = ConfigHelper.CurrentUserId;
                    item.ModifiedOn = DateTime.Now;

                    ctx.SaveChanges();

                    //SaveSmartTagValue(_SupplierId);

                    result = true;
                }

                #region general.SaveGeneralData
                if (tabGeneralLoaded)
                {
                    if (_EditMode == EnumHelper.EditMode.Add)
                    {
                        general.SupplierId   = _SupplierId;
                        general.SupplierCode = _SupplierCode;
                    }
//                    result = general.SaveGeneralData();
                }
                #endregion
                #region address.SaveAddressData
                if (tabAddressLoaded && result)
                {
                    if (_EditMode == EnumHelper.EditMode.Add)
                    {
                        address.SupplierId = _SupplierId;
                    }
                    result = address.SaveAddressData();
                }
                #endregion
                #region contact.SaveContctData
                if (tabContactLoaded && result)
                {
                    if (_EditMode == EnumHelper.EditMode.Add)
                    {
                        contact.SupplierId = _SupplierId;
                    }
                    result = contact.SaveContctData();
                }
                #endregion
                #region finance.SaveFinanceData
                if (tabFinancialLoaded && result)
                {
                    if (_EditMode == EnumHelper.EditMode.Add)
                    {
                        finance.SupplierId = _SupplierId;
                    }
                    result = finance.SaveFinanceData();
                }
                #endregion

                return(result);
            }
            else
            {
                return(false);
            }
        }
Пример #7
0
        private bool SaveData()
        {
            bool result = false;

            using (var ctx = new EF6.RT2020Entities())
            {
                using (var scope = ctx.Database.BeginTransaction())
                {
                    try
                    {
                        #region save Wokrplace core data
                        var wp = ctx.Workplace.Find(_WorkplaceId);
                        if (wp == null)
                        {
                            #region add new dbo.Workplace
                            wp               = new EF6.Workplace();
                            wp.WorkplaceId   = Guid.NewGuid();
                            wp.WorkplaceCode = txtLoc.Text.Trim();
                            wp.CreatedOn     = DateTime.Now;
                            wp.CreatedBy     = ConfigHelper.CurrentUserId;
                            wp.Status        = (int)EnumHelper.Status.Active;

                            ctx.Workplace.Add(wp);
                            _WorkplaceId = wp.WorkplaceId;
                            #endregion
                        }
                        wp.WorkplaceInitial  = txtInitial.Text.Trim();
                        wp.WorkplaceName     = txtName.Text.Trim();
                        wp.WorkplaceName_Chs = txtNameChs.Text.Trim();
                        wp.WorkplaceName_Cht = txtNameCht.Text.Trim();
                        //wp.AlternateWorkplaceCode = txtSmartTag3.Text;
                        wp.Priority = Convert.ToInt32((txtPriority.Text.Length == 0) ? "0" : txtPriority.Text.Trim());
                        wp.Email    = txtPhoneTag2.Text.Trim();
                        wp.Password = txtPassword.Text.Trim();

                        if ((Guid)cboNature.SelectedValue != Guid.Empty)
                        {
                            wp.NatureId = (Guid)cboNature.SelectedValue;
                        }
                        wp.ZoneId = (Guid)cboZone.SelectedValue;
                        if ((Guid)cboLOO.SelectedValue != Guid.Empty)
                        {
                            wp.LineOfOperationId = (Guid)cboLOO.SelectedValue;
                        }
                        wp.DownloadToCounter = true;
                        wp.DownloadToPOS     = true;
                        wp.DownloadToShop    = true;

                        wp.Status = ctx.Entry(wp).State == EntityState.Added ?
                                    (int)EnumHelper.Status.Active : (int)EnumHelper.Status.Modified;
                        wp.ModifiedOn = DateTime.Now;
                        wp.ModifiedBy = ConfigHelper.CurrentUserId;

                        ctx.SaveChanges();
                        #endregion

                        #region save WorkplaceAddress
                        var address = ctx.WorkplaceAddress.Where(x => x.WorkplaceId == _WorkplaceId).FirstOrDefault();
                        if (address == null)
                        {
                            #region add new dboWorkplaceAddress
                            address             = new EF6.WorkplaceAddress();
                            address.AddressId   = Guid.NewGuid();
                            address.WorkplaceId = _WorkplaceId;

                            ctx.WorkplaceAddress.Add(address);
                            #endregion
                        }
                        address.Address    = txtAddress.Text.Trim();
                        address.PostalCode = txtPostal.Text.Trim();
                        if ((Guid)cboCountry.SelectedValue != Guid.Empty)
                        {
                            address.CountryId = (Guid)cboCountry.SelectedValue;
                        }
                        if ((Guid)cboProvince.SelectedValue != Guid.Empty)
                        {
                            address.ProvinceId = (Guid)cboProvince.SelectedValue;
                        }
                        if ((Guid)cboCity.SelectedValue != Guid.Empty)
                        {
                            address.CityId = (Guid)cboCity.SelectedValue;
                        }
                        address.District = txtDistrict.Text.Trim();

                        // Phone Tag 1
                        address.PhoneTag1      = PhoneTagEx.GetPhoneTagIdByPriority(1);
                        address.PhoneTag1Value = txtPhoneTag1.Text;

                        // Phone Tag 3
                        address.PhoneTag3       = PhoneTagEx.GetPhoneTagIdByPriority(3);
                        address.Phonetage3Value = txtPhoneTag3.Text;

                        // Phone Tag 4
                        address.PhoneTag4      = PhoneTagEx.GetPhoneTagIdByPriority(4);
                        address.PhoneTag4Value = txtPhoneTag4.Text;

                        ctx.SaveChanges();
                        #endregion

                        #region save Smart Tags
                        #region Smart Tag 1
                        var oTag1 = ctx.WorkplaceSmartTag.Where(x => x.WorkplaceId == _WorkplaceId && x.TagId == (Guid)txtSmartTag1.Tag).FirstOrDefault();
                        if (oTag1 == null)
                        {
                            oTag1             = new EF6.WorkplaceSmartTag();
                            oTag1.SmartTagId  = Guid.NewGuid();
                            oTag1.WorkplaceId = _WorkplaceId;
                            oTag1.TagId       = (txtSmartTag1.Tag == null) ? Guid.Empty : new Guid(txtSmartTag1.Tag.ToString());
                            ctx.WorkplaceSmartTag.Add(oTag1);
                        }
                        oTag1.SmartTagValue = txtSmartTag1.Text;
                        ctx.SaveChanges();
                        #endregion

                        #region Smart Tag 2
                        var oTag2 = ctx.WorkplaceSmartTag.Where(x => x.WorkplaceId == _WorkplaceId && x.TagId == (Guid)txtSmartTag2.Tag).FirstOrDefault();
                        if (oTag2 == null)
                        {
                            oTag2             = new EF6.WorkplaceSmartTag();
                            oTag2.SmartTagId  = Guid.NewGuid();
                            oTag2.WorkplaceId = _WorkplaceId;
                            oTag2.TagId       = (txtSmartTag2.Tag == null) ? Guid.Empty : new Guid(txtSmartTag2.Tag.ToString());
                            ctx.WorkplaceSmartTag.Add(oTag2);
                        }
                        oTag2.SmartTagValue = txtSmartTag2.Text;
                        ctx.SaveChanges();
                        #endregion
                        #endregion

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

            return(result);

            /** abbendon
             * int priority = 0;
             * if (txtLoc.Text.Trim().Length <= 0)
             * {
             *  errorProvider.SetError(txtLoc, "Cannot be blank!");
             *  return false;
             * }
             * else if (!int.TryParse(txtPriority.Text.Trim(), out priority))
             * {
             *  errorProvider.SetError(txtPriority, Resources.Common.DigitalNeeded);
             *  return false;
             * }
             * else
             * {
             *  errorProvider.SetError(txtLoc, string.Empty);
             *  errorProvider.SetError(txtPriority, string.Empty);
             *
             *  if (txtLoc.ReadOnly)
             *  {
             *      var workplaceId = AddWorkplace(_WorkplaceId);
             *      _WorkplaceId = workplaceId;
             *
             *      if (workplaceId != Guid.Empty)
             *      {
             *          AddWorkplaceAddress(workplaceId);
             *          AddWorkplaceSmart(workplaceId);
             *      }
             *  }
             *  else
             *  {
             *      var workplaceId = AddWorkplace(Guid.Empty);
             *      if (workplaceId != Guid.Empty)
             *      {
             *          AddWorkplaceAddress(workplaceId);
             *          AddWorkplaceSmart(workplaceId);
             *      }
             *  }
             *  if (_WorkplaceId != Guid.Empty)
             *  {
             *      txtLoc.ReadOnly = true;
             *      txtLoc.BackColor = Color.LightYellow;
             *
             *      ClearForm();
             *      MessageBox.Show("Save successfully!", "Save Result");
             *
             *      return true;
             *  }
             *  else
             *  {
             *      return false;
             *  }
             * }
             */
        }