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); } }
/// <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; }
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); } }
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); } }
/// <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(); }
/// <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(); }