private void btnSave_Click(object sender, EventArgs e) { if (this.dtsWillBeStore.Tables[0].Rows.Count <= 0) { return; } if (this.txtPayOffName.Text.Trim() == "") { CommUI.MsgOK("工资发放名称不能为空!"); this.txtPayOffName.Focus(); return; } PayOffLogic oExec = new PayOffLogic(); if (oExec.IsExistPayName(this.txtPayOffName.Text.Trim())) { CommUI.AlertError("工资发放名称己经存在,请修改!"); this.txtPayOffName.Focus(); return; } PayOffDTS dtsPayOff = new PayOffDTS(); foreach (DataRow oRow in this.dtsWillBeStore.Tables[0].Rows) { PayOffDTS.payOffGatherRow drPayOffGather = dtsPayOff.payOffGather.NewpayOffGatherRow(); drPayOffGather.piId = long.Parse(oRow["员工标识"].ToString()); drPayOffGather.realIncome = decimal.Parse(oRow["实领工资"].ToString()); drPayOffGather.month = this.datePayOff.Value; drPayOffGather.inputDate = DateTime.Now; drPayOffGather.cHumanName = oRow["员工姓名"].ToString(); drPayOffGather.inputMan = this.UserName; drPayOffGather.name = this.txtPayOffName.Text.Trim(); dtsPayOff.payOffGather.AddpayOffGatherRow(drPayOffGather); foreach (DataColumn oColumn in this.dtsWillBeStore.Tables[0].Columns) { // 判断每一列是否为薪水项 PayRollItem oPayRollItem = this.strHeader.Where(arg => arg.Name == oColumn.ColumnName).FirstOrDefault(); if (oPayRollItem != null) { PayOffDTS.payOffDetailRow drPayOffDetail = dtsPayOff.payOffDetail.NewpayOffDetailRow(); drPayOffDetail.paid = oPayRollItem.ID; drPayOffDetail.piId = drPayOffGather.piId; drPayOffDetail.money = oRow[oColumn].ToString() == "" ? 0m : decimal.Parse(oRow[oColumn].ToString()); drPayOffDetail.month = drPayOffGather.month.Month; drPayOffDetail.inputMan = this.UserName; dtsPayOff.payOffDetail.AddpayOffDetailRow(drPayOffDetail); } } } oExec.AddPayOff(dtsPayOff); CommUI.MsgOK(); this.dtsWillBeStore.Tables[0].Rows.Clear(); }
private void btnOK_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtTemplateName.Text.Trim())) { CommUI.MsgOK("模板名称不能为空!"); this.txtTemplateName.Focus(); this.DialogResult = DialogResult.None; return; } SalaryItemTemplet entity = new SalaryItemTemplet(); FrmReadyPayOff pWin = this.Owner.ActiveMdiChild as FrmReadyPayOff; //被选中的工资项 var chkBoxs = pWin.panPayRoll_flp.Controls.OfType <CheckBox>().Where(p => p.Checked == true); //数据库中有多少个工资项字段 var pItems = entity.GetType().GetProperties().Where(p => p.Name.StartsWith("item")); if (chkBoxs.Count() > pItems.Count()) { CommUI.AlertError("您选的工资项太多,数据库不能存储,请偿试减少工资项!"); return; } //设置工资模板的工资项 for (int i = 0; i < chkBoxs.Count(); i++) { pItems.ElementAt(i).SetValue(entity, chkBoxs.ElementAt(i).Text, null); } entity.name = this.txtTemplateName.Text.Trim(); entity.inputDate = DateTime.Now; entity.inputMan = this.UserName; string strResult = new PayRollTemplateLogic().AddTemplate(entity); if (string.IsNullOrEmpty(strResult)) { //CommUI.MsgOK(); } else { CommUI.AlertError(strResult); } }