Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
            }
        }