Example #1
0
        public bool DeleteVisaAndModifyVisaInfos(Model.Visa model)
        {
            //1.更新对应visainfo
            BLL.VisaInfo          bllVisaInfo = new VisaInfo();
            List <Model.VisaInfo> list        = bllVisaInfo.GetModelList(" Visa_id = '" + model.Visa_id + "'");

            //修改对应项
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Country = null;
                list[i].Visa_id = null;
                list[i].GroupNo = null;
                //TODO:资料录入情况怎么处理
                //TODO:销售人员和客户怎么处理?
                list[i].Salesperson = null;
                list[i].Client      = null;
                //TODO:Types怎么处理
                list[i].Types = null;
                if (!bllVisaInfo.Update(list[i]))
                {
                    return(false);
                }
            }
            //2.删除自身
            return(Delete(model.Visa_id));
        }
        private bool CtrlsToVisaModel(Model.Visa model)
        {
            //这里执行备份,这种逻辑是对现有的model进行修改

            _visaModelBackup = model.ToObjectCopy();

            try
            {
                ////单独处理remark
                //if (!string.IsNullOrEmpty((string)dgvGroupInfo.Rows[0].Cells["Remark"].Value))
                //    _visaModel.Remark = (string)dgvGroupInfo.Rows[0].Cells["Remark"].Value;

                //1.保存团号信息修改到数据库,Visa表(sales_person,country,GroupNo,PredictTime)
                if (!string.IsNullOrEmpty(txtDepartureTime.Text))
                {
                    model.PredictTime = DateTime.Parse(txtDepartureTime.Text);
                }
                model.GroupNo      = txtGroupNo.Text;
                model.SalesPerson  = txtSalesPerson.Text;
                model.TypeInPerson = txtTypeInPerson.Text;
                model.Country      = cbCountry.Text;
                model.Number       = lvIn.Items.Count;
                model.Client       = txtClient.Text;
                model.Types        = Common.Enums.Types.Team; //设置为团签
                model.IsUrgent     = chbIsUrgent.Checked;
                model.Person       = txtPerson.Text;
                return(true);
            }
            catch (Exception)
            {
                MessageBoxEx.Show(Resources.PleaseCheckDateTimeFormat);
                return(false);
            }
        }
        private void 个签意见书ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            HashSet <Visa> set = new HashSet <Visa>();

            Model.Visa visaModel = null;
            int        idx       = 0; //visaModel的下标

            for (int i = 0; i < rowMergeView1.SelectedRows.Count; i++)
            {
                for (int j = 0; j < _listVisa.Count; j++)
                {
                    if (_listVisaInfo[j].Contains(_listDgv[rowMergeView1.SelectedRows[i].Index]))
                    {
                        if (!set.Contains(_listVisa[j]))
                        {
                            set.Add(_listVisa[j]);
                            visaModel = _listVisa[j];
                            idx       = j;
                        }
                    }
                }
            }
            if (set.Count > 1)
            {
                MessageBoxEx.Show("请选择同一个团号的签证进行导出!");
                return;
            }

            if (visaModel == null)
            {
                return;
            }
            ExcelGenerator.GetIndividualVisaExcel(_listVisaInfo[idx], visaModel.Remark, visaModel.GroupNo);
        }
 private bool CtrlsToVisaModel()
 {
     _visaModel = new Visa();
     //_visaModel.Visa_id = Guid.NewGuid(); //这里必须要给一个,虽然这里不给也会入库正确,数据库会赋给默认值,但是后面更新对应visainfo就会有错
     //这里代码生成器默认给了一个guid,不能再自己给了
     try
     {
         if (!string.IsNullOrEmpty(txtDepartureTime.Text))
         {
             _visaModel.PredictTime = DateTime.Parse(txtDepartureTime.Text);
         }
         _visaModel.EntryTime    = DateTime.Now;
         _visaModel.GroupNo      = txtGroupNo.Text;
         _visaModel.SalesPerson  = txtSalesPerson.Text;
         _visaModel.TypeInPerson = txtTypeInPerson.Text;
         _visaModel.Client       = txtClient.Text;
         _visaModel.Country      = cbCountry.Text;
         _visaModel.Number       = lvIn.Items.Count;        //团号的人数
         _visaModel.Types        = Common.Enums.Types.Team; //设置为团签
         _visaModel.IsUrgent     = chbIsUrgent.Checked;
         _visaModel.Person       = txtPerson.Text;
         return(true);
     }
     catch (Exception)
     {
         _visaModel = null; //一定要这里重新赋值为null
         MessageBoxEx.Show(Resources.PleaseCheckDateTimeFormat);
         return(false);
     }
 }
Example #5
0
 /// <summary>
 /// 从已有visaModel设置窗口(已经设置了团号)
 /// </summary>
 /// <param name="model"></param>
 /// <param name="updateDel"></param>
 /// <param name="curpage"></param>
 public FrmSetGroup(Model.Visa model, Action <int> updateDel, int curpage)
 {
     InitializeComponent();
     _visaModel         = model;
     _initFromVisaModel = true;
     _updateDel         = updateDel;
     _curPage           = curpage;
 }
Example #6
0
        private bool CtrlsToVisaModel(Model.Visa model)
        {
            try
            {
                //单独处理remark
                if (!string.IsNullOrEmpty((string)dgvGroupInfo.Rows[0].Cells["Remark"].Value))
                {
                    model.Remark = (string)dgvGroupInfo.Rows[0].Cells["Remark"].Value;
                }

                //1.保存团号信息修改到数据库,Visa表(sales_person,country,GroupNo,PredictTime)
                model.GroupNo     = txtGroupNo.Text;
                model.SalesPerson = txtSalesPerson.Text;
                model.Country     = cbCountry.Text;
                model.Number      = lvIn.Items.Count;

                if (!string.IsNullOrEmpty(txtDepartureTime.Text))
                {
                    model.PredictTime = DateTime.Parse(txtDepartureTime.Text);
                }
                if (!string.IsNullOrEmpty(txtSubmitTime.Text))
                {
                    model.SubmitTime = DateTime.Parse(txtSubmitTime.Text);
                }
                if (!string.IsNullOrEmpty(txtInTime.Text))
                {
                    model.InTime = DateTime.Parse(txtInTime.Text);
                }
                if (!string.IsNullOrEmpty(txtOutTime.Text))
                {
                    model.OutTime = DateTime.Parse(txtOutTime.Text);
                }

                //_visaModel.SubmitTime = DateTime.Parse(txtSubmitTime.Text);
                //_visaModel.InTime = DateTime.Parse(txtInTime.Text);
                //_visaModel.OutTime = DateTime.Parse(txtOutTime.Text);
                model.Client          = txtClient.Text;
                model.DepartureType   = txtDepartureType.Text;
                model.SubmitCondition = txtSubmitCondition.Text;
                model.FetchCondition  = txtFetchType.Text;
                model.TypeInPerson    = txtTypeInPerson.Text;
                model.CheckPerson     = txtCheckPerson.Text;
                model.Types           = Common.Enums.Types.Individual; //设置为个签
                model.IsUrgent        = chbIsUrgent.Checked;
                model.Person          = txtPerson.Text;
                return(true);
            }
            catch (Exception)
            {
                MessageBoxEx.Show(Resources.PleaseCheckDateTimeFormat);
                return(false);
            }
        }
Example #7
0
        private bool CtrlsToVisaModel()
        {
            _visaModel = new Visa();
            //_visaModel.Visa_id = Guid.NewGuid(); //这里必须要给一个,虽然这里不给也会入库正确,数据库会赋给默认值,但是后面更新对应visainfo就会有错
            //这里代码生成器默认给了一个guid,不能再自己给了
            try
            {
                //单独处理remark
                if (!string.IsNullOrEmpty((string)dgvGroupInfo.Rows[0].Cells["Remark"].Value))
                {
                    _visaModel.Remark = (string)dgvGroupInfo.Rows[0].Cells["Remark"].Value;
                }

                if (!string.IsNullOrEmpty(txtDepartureTime.Text))
                {
                    _visaModel.PredictTime = DateTime.Parse(txtDepartureTime.Text);
                }
                if (!string.IsNullOrEmpty(txtSubmitTime.Text))
                {
                    _visaModel.SubmitTime = DateTime.Parse(txtSubmitTime.Text);
                }
                if (!string.IsNullOrEmpty(txtInTime.Text))
                {
                    _visaModel.InTime = DateTime.Parse(txtInTime.Text);
                }
                if (!string.IsNullOrEmpty(txtOutTime.Text))
                {
                    _visaModel.OutTime = DateTime.Parse(txtOutTime.Text);
                }

                _visaModel.EntryTime       = DateTime.Now;
                _visaModel.GroupNo         = txtGroupNo.Text;
                _visaModel.SalesPerson     = txtSalesPerson.Text;
                _visaModel.Country         = cbCountry.Text;
                _visaModel.Number          = lvIn.Items.Count; //团号的人数
                _visaModel.Client          = txtClient.Text;
                _visaModel.DepartureType   = txtDepartureType.Text;
                _visaModel.SubmitCondition = txtSubmitCondition.Text;
                _visaModel.FetchCondition  = txtFetchType.Text;
                _visaModel.TypeInPerson    = txtTypeInPerson.Text;
                _visaModel.CheckPerson     = txtCheckPerson.Text;
                _visaModel.Types           = Common.Enums.Types.Individual; //设置为个签
                _visaModel.IsUrgent        = chbIsUrgent.Checked;
                _visaModel.Person          = txtPerson.Text;
                return(true);
            }
            catch (Exception)
            {
                _visaModel = null; //一定要这里重新赋值为null
                MessageBoxEx.Show(Resources.PleaseCheckDateTimeFormat);
                return(false);
            }
        }
Example #8
0
        /// <summary>
        /// 提交修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// TODO:处理需要修改团号的逻辑
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            //检查团号为空?
            if (string.IsNullOrEmpty(txtGroupNo.Text))
            {
                MessageBoxEx.Show("团号不能为空!");
                return;
            }
            DialogResult res = MessageBoxEx.Show("是否提交修改?", "确认", MessageBoxButtons.OKCancel);

            if (res == DialogResult.Cancel)
            {
                return;
            }
            if (!_initFromVisaModel) //从List列表初始化
            {
                //1.保存团号信息修改到数据库,Visa表(sales_person,country,GroupNo,PredictTime)
                if (_visaModel != null)
                {
                    MessageBoxEx.Show("内部错误!");
                    return;
                }
                if (!CtrlsToVisaModel())
                {
                    return;
                }

                if ((_visaModel.Visa_id = _bllVisa.Add(_visaModel)) == Guid.Empty) //执行更新,返回值是新插入的visamodel的guid
                {
                    MessageBoxEx.Show("添加团号到数据库失败,请重试!");
                    return;
                }

                //2.更新model,设置资料已录入,团号,国家等
                _dgvList = (List <Model.VisaInfo>)dgvGroupInfo.DataSource;
                //2.1更新VisaInfo数据库
                UpdateInListVisaInfo(_dgvList);
                bool hasTypedIn = _bllLoger.HasVisaBeenTypedIn(_visaModel);
                //3.1更新这些人的录入情况到ActionResult里面
                for (int i = 0; i < _dgvList.Count; i++)
                {
                    Model.ActionRecords log = new ActionRecords();
                    if (!hasTypedIn) //第一次打开进行设置团号,就是录入,这里的判断其实是多余的。。。因为这里进来就一定是还没做团号的....
                    {
                        log.ActType = Common.Enums.ActType._01TypeIn;
                    }
                    else //第二次是做资料
                    {
                        log.ActType = Common.Enums.ActType._02TypeInData;
                    }
                    log.WorkId      = Common.GlobalUtils.LoginUser.WorkId;
                    log.UserName    = Common.GlobalUtils.LoginUser.UserName;
                    log.VisaInfo_id = _dgvList[i].VisaInfo_id;
                    log.Visa_id     = _visaModel.Visa_id;
                    log.Type        = Common.Enums.Types.Individual;
                    log.EntryTime   = DateTime.Now;
                    _bllLoger.Add(log);
                }

                //添加完成后,删除这几个人
                for (int i = 0; i < lvIn.Items.Count; i++)
                {
                    _list.Remove((Model.VisaInfo)lvIn.Items[i].Tag);
                }
                lvIn.Items.Clear();
                _visaModel = null;
                UpdateDgvAndListViaListView();
                if (_list.Count == 0)
                {
                    _updateDel(_curPage);
                    Close();
                }
            }
            else
            {
                //从model初始化的,只考虑信息的修改以及移出人

                //如果所有人都移出了,提示请点击删除
                if (lvIn.Items.Count == 0)
                {
                    MessageBoxEx.Show("若需要将全部成员移出此团号,请点击\"删除团号\"按钮");
                    return;
                }

                //1.保存团号信息修改到数据库,Visa表(sales_person,country,GroupNo,PredictTime)
                if (!CtrlsToVisaModel(_visaModel))
                {
                    return;
                }

                if (!_bllVisa.Update(_visaModel)) //执行更新
                {
                    MessageBoxEx.Show("更新团号信息失败!");
                    return;
                }
                //2.更新model,设置资料已录入,团号,国家等
                _dgvList = (List <Model.VisaInfo>)dgvGroupInfo.DataSource;
                //2.1更新还留在团内的人的VisaInfo数据库
                UpdateInListVisaInfo(_dgvList);
                //添加记录
                bool hasTypedIn = _bllLoger.HasVisaBeenTypedIn(_visaModel);
                for (int i = 0; i < _dgvList.Count; i++)
                {
                    Model.ActionRecords log = new ActionRecords();
                    if (!hasTypedIn)
                    {
                        log.ActType = Common.Enums.ActType._01TypeIn;
                    }
                    else //第二次是做资料
                    {
                        log.ActType = Common.Enums.ActType._02TypeInData;
                    }
                    log.WorkId      = Common.GlobalUtils.LoginUser.WorkId;
                    log.UserName    = Common.GlobalUtils.LoginUser.UserName;
                    log.VisaInfo_id = _dgvList[i].VisaInfo_id;
                    log.Visa_id     = _visaModel.Visa_id;
                    log.Type        = Common.Enums.Types.Individual;
                    log.EntryTime   = DateTime.Now;
                    _bllLoger.Add(log);
                }

                //2.2更新移出的人的数据库
                UpdateOutListVisaInfo();
                _updateDel(_curPage);
                Close();
            }


            //
            //Close();
        }
Example #9
0
        /// <summary>
        /// 检查指定visa是否已经录入了,现在就是做资料了
        /// </summary>
        /// <param name="visaModel"></param>
        /// <returns></returns>
        public bool HasVisaBeenTypedIn(Model.Visa visaModel)
        {
            List <Model.ActionRecords> list = GetModelList(" visa_id = '" + visaModel.Visa_id + "' ");

            return(list.Count > 0);
        }
 /// <summary>
 /// 从visaModel初始化有一个恢复功能
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 /// TODO:是否应该备份一份visaModel,不备份的话先提交过修改再reset就没用了,这样做了还是有问题,因为数据库那边已经提交了,所以最终应该备份数据库那边的状态,或者最终关闭窗口的时候才保存修改
 private void btnReset_Click(object sender, EventArgs e)
 {
     _visaModel = _visaModelBackup;//目前来说没有多少用
     InitFrmFromVisaModel();
 }