//获取输入数据
        private BillTicket GetSaveEntity()
        {
            var entity = new BillTicket();
            if (string.IsNullOrEmpty(hidID.Value.Trim()) == false)
                entity.ID = int.Parse(hidID.Value.Trim());
            //hardcode according ddldep text
            entity.DepName = ddlDept.SelectedItem.Text;

            //??还是根据内部订单号前2位决定部门??
            //if (string.IsNullOrEmpty(hidDepId.Value.Trim()) == false)
            //    entity.DepId = int.Parse(hidDepId.Value.Trim());
            //else
            {
                if (entity.DepName.Contains("Düsseldorf"))
                    entity.DepId = 1;
                else if (entity.DepName.Contains("Stuttgart"))
                    entity.DepId = 2;
                else if (entity.DepName.Contains("Maastricht") || entity.DepName.Contains("Arnhem"))
                    entity.DepId = 3;
                else if (entity.DepName.Contains("肇庆"))
                    entity.DepId = 4;
                else if (entity.DepName.Contains("Köln"))
                    entity.DepId = 5;
            }

            if (string.IsNullOrEmpty(txtDepAddress.Text.Trim()) == false)
                entity.DepAddress = txtDepAddress.Text.Trim();

            if (string.IsNullOrEmpty(txtInnerReferenceID.Text.Trim()) == false)
                entity.InnerReferenceID = txtInnerReferenceID.Text.Trim();
            if (string.IsNullOrEmpty(txtBookingDate.Text.Trim()) == false)
                entity.BookingDate = DateTime.Parse(txtBookingDate.Text.Trim());

            entity.ParentCompany = txtParentCompany.Text;

            if (string.IsNullOrEmpty(txtCustName.Text.Trim()) == false)
                entity.CustName = txtCustName.Text.Trim();

            entity.CustAddress = txtCustAddress.Text.Trim();

            entity.CustTel = txtCustTel.Text.Trim();
            entity.CustFax = txtCustFax.Text.Trim();
            entity.CustEmail = txtCustEmail.Text.Trim();

            if (hidCustID.Text != "")
                entity.CustID = long.Parse(hidCustID.Text);
            else
                entity.CustID = CustSvr.GetCustIDByName(entity.CustName,
                    entity.CustAddress, entity.CustTel, entity.CustEmail,
                    base.LoginUserID, int.Parse(txtCustOwnerID.Text.Trim()), true);

            entity.ProdProvider = txtAirline.Text.Trim();
            entity.BankAccount = txtBankAccount.Text.Trim();

            entity.Currency = "EUR";
            entity.Accessory = txtAccessory.Text;
            entity.MaxLuggage = txtMaxLuggage.Text;
            entity.CancellationFee = txtCancellationFee.Text;
            entity.ChangeFee = txtChangeFee.Text;
            entity.PaymentDate = txtPaymentDate.Text;
            entity.DestinationRegion = ddlDestination.Text;

            if (string.IsNullOrEmpty(txtCustCDate.Text.Trim()) == false)
                entity.CreateDate = DateTime.Parse(txtCustCDate.Text.Trim());
            if (string.IsNullOrEmpty(txtCustCUserID.Value.Trim()) == false)
                entity.CreateUserID = int.Parse(txtCustCUserID.Value.Trim());
            if (string.IsNullOrEmpty(txtCustOwnerID.Text.Trim()) == false)
                entity.CustOwnerID = int.Parse(txtCustOwnerID.Text.Trim());

            entity.ModifyDate = DateTime.Now;
            entity.ModifyUserID = base.LoginUserID;

            //还没想好Status字段用途
            entity.Status = 'A';

            return entity;
        }
        //获取输入数据
        private BillTicket GetSaveEntity()
        {
            var entity = new BillTicket();

            if (string.IsNullOrEmpty(hidID.Value.Trim()) == false)
            {
                entity.ID = int.Parse(hidID.Value.Trim());
            }
            //hardcode according ddldep text
            entity.DepName = ddlDept.SelectedItem.Text;

            //??还是根据内部订单号前2位决定部门??
            //if (string.IsNullOrEmpty(hidDepId.Value.Trim()) == false)
            //    entity.DepId = int.Parse(hidDepId.Value.Trim());
            //else
            {
                if (entity.DepName.Contains("Düsseldorf"))
                {
                    entity.DepId = 1;
                }
                else if (entity.DepName.Contains("Stuttgart"))
                {
                    entity.DepId = 2;
                }
                else if (entity.DepName.Contains("Maastricht") || entity.DepName.Contains("Arnhem"))
                {
                    entity.DepId = 3;
                }
                else if (entity.DepName.Contains("肇庆"))
                {
                    entity.DepId = 4;
                }
                else if (entity.DepName.Contains("Köln"))
                {
                    entity.DepId = 5;
                }
            }

            if (string.IsNullOrEmpty(txtDepAddress.Text.Trim()) == false)
            {
                entity.DepAddress = txtDepAddress.Text.Trim();
            }

            if (string.IsNullOrEmpty(txtInnerReferenceID.Text.Trim()) == false)
            {
                entity.InnerReferenceID = txtInnerReferenceID.Text.Trim();
            }
            if (string.IsNullOrEmpty(txtBookingDate.Text.Trim()) == false)
            {
                entity.BookingDate = DateTime.Parse(txtBookingDate.Text.Trim());
            }

            entity.ParentCompany = txtParentCompany.Text;

            if (string.IsNullOrEmpty(txtCustName.Text.Trim()) == false)
            {
                entity.CustName = txtCustName.Text.Trim();
            }

            entity.CustAddress = txtCustAddress.Text.Trim();

            entity.CustTel   = txtCustTel.Text.Trim();
            entity.CustFax   = txtCustFax.Text.Trim();
            entity.CustEmail = txtCustEmail.Text.Trim();

            if (hidCustID.Text != "")
            {
                entity.CustID = long.Parse(hidCustID.Text);
            }
            else
            {
                entity.CustID = CustSvr.GetCustIDByName(entity.CustName,
                                                        entity.CustAddress, entity.CustTel, entity.CustEmail,
                                                        base.LoginUserID, int.Parse(txtCustOwnerID.Text.Trim()), true);
            }


            entity.ProdProvider = txtAirline.Text.Trim();
            entity.BankAccount  = txtBankAccount.Text.Trim();

            entity.Currency          = "EUR";
            entity.Accessory         = txtAccessory.Text;
            entity.MaxLuggage        = txtMaxLuggage.Text;
            entity.CancellationFee   = txtCancellationFee.Text;
            entity.ChangeFee         = txtChangeFee.Text;
            entity.PaymentDate       = txtPaymentDate.Text;
            entity.DestinationRegion = ddlDestination.Text;

            if (string.IsNullOrEmpty(txtCustCDate.Text.Trim()) == false)
            {
                entity.CreateDate = DateTime.Parse(txtCustCDate.Text.Trim());
            }
            if (string.IsNullOrEmpty(txtCustCUserID.Value.Trim()) == false)
            {
                entity.CreateUserID = int.Parse(txtCustCUserID.Value.Trim());
            }
            if (string.IsNullOrEmpty(txtCustOwnerID.Text.Trim()) == false)
            {
                entity.CustOwnerID = int.Parse(txtCustOwnerID.Text.Trim());
            }


            entity.ModifyDate   = DateTime.Now;
            entity.ModifyUserID = base.LoginUserID;

            //还没想好Status字段用途
            entity.Status = 'A';


            return(entity);
        }
Exemple #3
0
        private void AddAuditLog(BillTicket oldEntity, BillTicket newEntity)
        {
            string    oldOwner = "", newOwner = "";
            DataTable dtUser = base.GetUser();

            DataRow[] drs = dtUser.Select("UserID=" + oldEntity.CustOwnerID);
            if (drs.Length > 0)
            {
                oldOwner = drs[0]["UserFullName"].ToString();
            }
            drs = dtUser.Select("UserID=" + newEntity.CustOwnerID);
            if (drs.Length > 0)
            {
                newOwner = drs[0]["UserFullName"].ToString();
            }


            CRMAuditLog Log = new CRMAuditLog();

            Log.Action   = "SaveTicket"; //界面显示时再转成多语言 SaveCustomer,SaveDeal,SaveUser
            Log.ActionAt = DateTime.Now;
            Log.ActionBy = newEntity.ModifyUserID;
            Log.PKId     = newEntity.ID;
            string ActionLog = "";

            if (oldEntity.DepName != newEntity.DepName)
            {
                ActionLog += "部门:" + oldEntity.DepName + "=>" + newEntity.DepName + " ;";
            }
            if (oldEntity.DepAddress != newEntity.DepAddress)
            {
                ActionLog += "公司地址:" + oldEntity.DepAddress + "=>" + newEntity.DepAddress + " ;";
            }
            if (oldEntity.InnerReferenceID != newEntity.InnerReferenceID)
            {
                ActionLog += "内部预订号:" + oldEntity.InnerReferenceID + "=>" + newEntity.InnerReferenceID + " ;";
            }
            if (oldEntity.BookingDate != newEntity.BookingDate)
            {
                ActionLog += "预订日期:" + oldEntity.BookingDate + "=>" + newEntity.BookingDate + " ;";
            }

            if (oldEntity.CustID != newEntity.CustID)
            {
                ActionLog += "CustID:" + oldEntity.CustID + "=>" + newEntity.CustID + " ;";
            }

            if (oldEntity.CustName != newEntity.CustName)
            {
                ActionLog += "客户姓名:" + oldEntity.CustName + "=>" + newEntity.CustName + " ;";
            }

            if (oldEntity.CustEmail != newEntity.CustEmail)
            {
                ActionLog += "电邮:" + oldEntity.CustEmail + "=>" + newEntity.CustEmail + " ;";
            }

            if (oldEntity.CustAddress != newEntity.CustAddress)
            {
                ActionLog += "客户地址:" + oldEntity.CustAddress + "=>" + newEntity.CustAddress + " ;";
            }

            if (oldEntity.CustTel != newEntity.CustTel)
            {
                ActionLog += "电话:" + oldEntity.CustTel + "=>" + newEntity.CustTel + " ;";
            }
            if (oldEntity.CustOwnerID != newEntity.CustOwnerID)
            {
                ActionLog += "所属销售:" + oldOwner + "=>" + newOwner + " ;";
            }
            //if (oldEntity.BankAccount != newEntity.BankAccount)
            //    ActionLog += "BankAccount:" + oldEntity.BankAccount + "=>" + newEntity.BankAccount + " ;";
            //if (oldEntity.Currency != newEntity.Currency)
            //    ActionLog += "Currency:" + oldEntity.Currency + "=>" + newEntity.Currency + " ;";
            if (oldEntity.TotalAmount != newEntity.TotalAmount)
            {
                ActionLog += "总价:" + oldEntity.TotalAmount + "=>" + newEntity.TotalAmount + " ;";
            }
            if (oldEntity.ProdProvider != newEntity.ProdProvider)
            {
                ActionLog += "航空公司:" + oldEntity.ProdProvider + "=>" + newEntity.ProdProvider + " ;";
            }
            if (oldEntity.Accessory != newEntity.Accessory)
            {
                ActionLog += "Leistung:" + oldEntity.Accessory + "=>" + newEntity.Accessory + " ;";
            }
            if (oldEntity.MaxLuggage != newEntity.MaxLuggage)
            {
                ActionLog += "行李重量:" + oldEntity.MaxLuggage + "=>" + newEntity.MaxLuggage + " ;";
            }
            if (oldEntity.CancellationFee != newEntity.CancellationFee)
            {
                ActionLog += "取消费用:" + oldEntity.CancellationFee + "=>" + newEntity.CancellationFee + " ;";
            }
            if (oldEntity.ChangeFee != newEntity.ChangeFee)
            {
                ActionLog += "改签费用:" + oldEntity.ChangeFee + "=>" + newEntity.ChangeFee + " ;";
            }
            if (oldEntity.PaymentDate != newEntity.PaymentDate)
            {
                ActionLog += "付款日期:" + oldEntity.PaymentDate + "=>" + newEntity.PaymentDate + " ;";
            }
            if (oldEntity.DestinationRegion != newEntity.DestinationRegion)
            {
                ActionLog += "目的国:" + oldEntity.DestinationRegion + "=>" + newEntity.DestinationRegion + " ;";
            }
            if (oldEntity.Status != newEntity.Status)
            {
                ActionLog += "Status:" + oldEntity.Status + "=>" + newEntity.Status + " ;";
            }

            Log.ActionLog = ActionLog;

            this.CRMAuditLogs.InsertOnSubmit(Log);
        }
Exemple #4
0
        public BillTicket Save(BillTicket entity, IList <BillTicketPerson> PersonList, IList <BillTicketTour> TourList)
        {
            if (this.dataCtx.Connection != null)
            {
                if (this.dataCtx.Connection.State == ConnectionState.Closed)
                {
                    this.dataCtx.Connection.Open();
                }
            }
            DbTransaction tran = this.dataCtx.Connection.BeginTransaction();

            dataCtx.Transaction = tran;
            string AuditLog = "";

            try
            {
                //由BillTicketTour的Price合计算出总价
                entity.TotalAmount = TourList.Sum(t => t.Price);
                //查询是否存在db
                var qry = from t in BillTickets
                          where t.ID == entity.ID
                          select t;
                var obj = qry.SingleOrDefault();
                if (obj != null)
                {
                    //对比新旧记录,增加auditlog
                    this.AddAuditLog(obj, entity);
                    this.CopyEntity(obj, entity);
                }
                else
                {
                    this.BillTickets.InsertOnSubmit(entity);
                }

                this.dataCtx.SubmitChanges();
                //-------------- Delete & Insert TicketPerson Again -------------
                var OldPersonList = this.BillTicketPersons.Where(t => t.TicketID == entity.ID).ToList();
                if (CompareListObject(OldPersonList, PersonList) == false)
                {
                    AuditLog = "修改乘客信息";
                }
                this.BillTicketPersons.DeleteAllOnSubmit(OldPersonList);

                if (PersonList != null)
                {
                    foreach (var person in PersonList)
                    {
                        //如果是新增信息,id=0,要赋值
                        if (person.TicketID == 0)
                        {
                            person.TicketID = entity.ID;
                        }

                        //PersonAmount
                        decimal PersonAmount = TourList.Where(p => p.OwnerName.Equals(person.OwnerName)).Sum(t => t.Price);
                        person.Price = PersonAmount;
                        if (person.OwnerName.Trim() != "")
                        {
                            this.BillTicketPersons.InsertOnSubmit(person);
                        }
                    }
                }
                this.dataCtx.SubmitChanges();
                //-------------- Delete & Insert TourList Again -------------
                var OldBillTicketTours = this.BillTicketTours.Where(t => t.TicketID == entity.ID).ToList();
                if (CompareListObject(OldBillTicketTours, TourList) == false)
                {
                    AuditLog += " 修改行程信息";
                }

                this.BillTicketTours.DeleteAllOnSubmit(OldBillTicketTours);

                if (TourList != null)
                {
                    foreach (var tour in TourList)
                    {
                        //如果是新增信息,id=0,要赋值
                        if (tour.TicketID == 0)
                        {
                            tour.TicketID = entity.ID;
                        }
                        //如果填写了机票号,或者金额不为0,保存行程记录
                        if (tour.FlightNum.Trim() != "" || tour.Price != 0)
                        {
                            this.BillTicketTours.InsertOnSubmit(tour);
                        }
                    }
                }
                if (AuditLog != "")
                {
                    this.AddAuditLog(AuditLog, entity.ModifyUserID, entity.ID);
                }

                this.dataCtx.SubmitChanges();
                //------------Sync to CRMCustomerDeal-------------
                Sync2CRMCustomerDeal(entity.InnerReferenceID);

                tran.Commit();

                return(entity);
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
            finally
            {
                dataCtx.Connection.Close();
            }
        }
Exemple #5
0
        private void AddAuditLog(BillTicket oldEntity, BillTicket newEntity)
        {
            string oldOwner="", newOwner="";
            DataTable dtUser = base.GetUser();
            DataRow[] drs = dtUser.Select("UserID=" + oldEntity.CustOwnerID);
            if (drs.Length > 0)
            {
                oldOwner = drs[0]["UserFullName"].ToString();
            }
            drs = dtUser.Select("UserID=" + newEntity.CustOwnerID);
            if (drs.Length > 0)
            {
                newOwner = drs[0]["UserFullName"].ToString();
            }

            CRMAuditLog Log = new CRMAuditLog();
            Log.Action = "SaveTicket"; //界面显示时再转成多语言 SaveCustomer,SaveDeal,SaveUser
            Log.ActionAt = DateTime.Now;
            Log.ActionBy = newEntity.ModifyUserID;
            Log.PKId = newEntity.ID;
            string ActionLog = "";

            if (oldEntity.DepName != newEntity.DepName)
                ActionLog += "部门:" + oldEntity.DepName + "=>" + newEntity.DepName + " ;";
            if (oldEntity.DepAddress != newEntity.DepAddress)
                ActionLog += "公司地址:" + oldEntity.DepAddress + "=>" + newEntity.DepAddress + " ;";
            if (oldEntity.InnerReferenceID != newEntity.InnerReferenceID)
                ActionLog += "内部预订号:" + oldEntity.InnerReferenceID + "=>" + newEntity.InnerReferenceID + " ;";
            if (oldEntity.BookingDate != newEntity.BookingDate)
                ActionLog += "预订日期:" + oldEntity.BookingDate + "=>" + newEntity.BookingDate + " ;";

            if (oldEntity.CustID != newEntity.CustID)
                ActionLog += "CustID:" + oldEntity.CustID + "=>" + newEntity.CustID + " ;";

            if (oldEntity.CustName != newEntity.CustName)
                ActionLog += "客户姓名:" + oldEntity.CustName + "=>" + newEntity.CustName + " ;";

            if (oldEntity.CustEmail != newEntity.CustEmail)
                ActionLog += "电邮:" + oldEntity.CustEmail + "=>" + newEntity.CustEmail + " ;";

            if (oldEntity.CustAddress != newEntity.CustAddress)
                ActionLog += "客户地址:" + oldEntity.CustAddress + "=>" + newEntity.CustAddress + " ;";

            if (oldEntity.CustTel != newEntity.CustTel)
                ActionLog += "电话:" + oldEntity.CustTel + "=>" + newEntity.CustTel + " ;";
            if (oldEntity.CustOwnerID != newEntity.CustOwnerID)
                ActionLog += "所属销售:" + oldOwner + "=>" + newOwner + " ;";
            //if (oldEntity.BankAccount != newEntity.BankAccount)
            //    ActionLog += "BankAccount:" + oldEntity.BankAccount + "=>" + newEntity.BankAccount + " ;";
            //if (oldEntity.Currency != newEntity.Currency)
            //    ActionLog += "Currency:" + oldEntity.Currency + "=>" + newEntity.Currency + " ;";
            if (oldEntity.TotalAmount != newEntity.TotalAmount)
                ActionLog += "总价:" + oldEntity.TotalAmount + "=>" + newEntity.TotalAmount + " ;";
            if (oldEntity.ProdProvider != newEntity.ProdProvider)
                ActionLog += "航空公司:" + oldEntity.ProdProvider + "=>" + newEntity.ProdProvider + " ;";
            if (oldEntity.Accessory != newEntity.Accessory)
                ActionLog += "Leistung:" + oldEntity.Accessory + "=>" + newEntity.Accessory + " ;";
            if (oldEntity.MaxLuggage != newEntity.MaxLuggage)
                ActionLog += "行李重量:" + oldEntity.MaxLuggage + "=>" + newEntity.MaxLuggage + " ;";
            if (oldEntity.CancellationFee != newEntity.CancellationFee)
                ActionLog += "取消费用:" + oldEntity.CancellationFee + "=>" + newEntity.CancellationFee + " ;";
            if (oldEntity.ChangeFee != newEntity.ChangeFee)
                ActionLog += "改签费用:" + oldEntity.ChangeFee + "=>" + newEntity.ChangeFee + " ;";
            if (oldEntity.PaymentDate != newEntity.PaymentDate)
                ActionLog += "付款日期:" + oldEntity.PaymentDate + "=>" + newEntity.PaymentDate + " ;";
            if (oldEntity.DestinationRegion != newEntity.DestinationRegion)
                ActionLog += "目的国:" + oldEntity.DestinationRegion + "=>" + newEntity.DestinationRegion + " ;";
            if (oldEntity.Status != newEntity.Status)
                ActionLog += "Status:" + oldEntity.Status + "=>" + newEntity.Status + " ;";

            Log.ActionLog = ActionLog;

            this.CRMAuditLogs.InsertOnSubmit(Log);
        }
Exemple #6
0
        public BillTicket Save(BillTicket entity, IList<BillTicketPerson> PersonList, IList<BillTicketTour> TourList)
        {
            if (this.dataCtx.Connection != null)
                if (this.dataCtx.Connection.State == ConnectionState.Closed)
                    this.dataCtx.Connection.Open();
            DbTransaction tran = this.dataCtx.Connection.BeginTransaction();
            dataCtx.Transaction = tran;
            string AuditLog = "";
            try
            {
                //由BillTicketTour的Price合计算出总价
                entity.TotalAmount = TourList.Sum(t => t.Price);
                //查询是否存在db
                var qry = from t in BillTickets
                          where t.ID == entity.ID
                          select t;
                var obj = qry.SingleOrDefault();
                if (obj != null)
                {
                    //对比新旧记录,增加auditlog
                    this.AddAuditLog(obj, entity);
                    this.CopyEntity(obj, entity);
                }
                else
                    this.BillTickets.InsertOnSubmit(entity);

                this.dataCtx.SubmitChanges();
                //-------------- Delete & Insert TicketPerson Again -------------
                var OldPersonList = this.BillTicketPersons.Where(t => t.TicketID == entity.ID).ToList();
                if (CompareListObject(OldPersonList, PersonList) == false)
                    AuditLog = "修改乘客信息";
                this.BillTicketPersons.DeleteAllOnSubmit(OldPersonList);

                if (PersonList != null)
                {
                    foreach (var person in PersonList)
                    {
                        //如果是新增信息,id=0,要赋值
                        if (person.TicketID == 0)
                            person.TicketID = entity.ID;

                        //PersonAmount
                        decimal PersonAmount = TourList.Where(p => p.OwnerName.Equals(person.OwnerName)).Sum(t => t.Price);
                        person.Price = PersonAmount;
                        if (person.OwnerName.Trim() != "")
                            this.BillTicketPersons.InsertOnSubmit(person);

                    }
                }
                this.dataCtx.SubmitChanges();
                //-------------- Delete & Insert TourList Again -------------
                var OldBillTicketTours = this.BillTicketTours.Where(t => t.TicketID == entity.ID).ToList();
                if (CompareListObject(OldBillTicketTours, TourList) == false)
                    AuditLog += " 修改行程信息";

                this.BillTicketTours.DeleteAllOnSubmit(OldBillTicketTours);

                if (TourList != null)
                {
                    foreach (var tour in TourList)
                    {
                        //如果是新增信息,id=0,要赋值
                        if (tour.TicketID == 0)
                            tour.TicketID = entity.ID;
                        //如果填写了机票号,或者金额不为0,保存行程记录
                        if (tour.FlightNum.Trim() != "" || tour.Price!=0)
                            this.BillTicketTours.InsertOnSubmit(tour);

                    }
                }
                if(AuditLog!="")
                    this.AddAuditLog(AuditLog, entity.ModifyUserID, entity.ID);

                this.dataCtx.SubmitChanges();
                //------------Sync to CRMCustomerDeal-------------
                Sync2CRMCustomerDeal(entity.InnerReferenceID);

                tran.Commit();

                return entity;
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
            finally
            {
                dataCtx.Connection.Close();
            }
        }