public object Clone()
        {
            PayrollItemFormEntity payrollItemForm = new PayrollItemFormEntity();

            // copy Employee
            payrollItemForm.PayrollItem = this.PayrollItem.Clone() as PayrollItem;

            // empType
            List<string> types = new List<string>();
            foreach (string type in this.EmpTypeId)
            {
                types.Add(type);
            }
            payrollItemForm.EmpTypeId = types.ToArray();

            //List<Department>
            List<string> flags = new List<string>();
            foreach (string flag in this.CalcFlagId)
            {
                flags.Add(flag.Clone() as string);
            }
            payrollItemForm.CalcFlagId = flags.ToArray();

            return payrollItemForm;
        }
 public bool Match(PayrollItemFormEntity item)
 {
     return MatchId(item)
             && MatchCalcFlag(item)
             && MatchCalcMethod(item)
             && MatchEmpType(item)
             && MatchGroup(item)
             && MatchSysItem(item)
             && MatchWageBonus(item);
 }
 private void btnOK_Click(object sender, EventArgs e)
 {
     try
     {
         PayrollItemFormEntity prife = new PayrollItemFormEntity();
         ReadPageData(prife.PayrollItem);
         ipayroll.Save(prife);
         DialogResult = DialogResult.OK;
     }
     catch (BIZException be)
     {
         MessageBox.Show("创建新项目失败: " + be.Message);
         return;
     }
     catch (DAOException de)
     {
         MessageBox.Show("创建新项目失败: " + de.Message);
         return;
     }
 }
Example #4
0
        protected override bool SavePageData()
        {
            if (payrollItemFormEntity == null)
            {
                return false;
            }

            if (!DataChanged)
            {
                return true;
            }

            try
            {
                ipayroll.Save(payrollItemFormEntity);
                payrollItemFormEntityBack = payrollItemFormEntity.Clone() as PayrollItemFormEntity;
                return true;
            }
            catch (BIZException be)
            {
                ShowErrorInfo("数据保存失败: " + be.Message);
                return false;
            }
            catch (DAOException de)
            {
                ShowErrorInfo("数据保存失败: " + de.Message);
                return false;
            }
        }
Example #5
0
 protected override void RecoverData()
 {
     payrollItemFormEntity = payrollItemFormEntityBack.Clone() as PayrollItemFormEntity;
 }
Example #6
0
        private void ReloadData()
        {
            try
            {
                payrollItemFormEntity = ipayroll.getPayrollItemFormEntity(GetCurSelectedItemID());
                if (null != payrollItemFormEntity)
                {
                    payrollItemFormEntityBack = payrollItemFormEntity.Clone() as PayrollItemFormEntity;
                }
                else
                {
                    payrollItemFormEntityBack = null;
                    ShowErrorInfo("无有效数据。");
                }

                InitFomulaConverter();
            }
            catch (BIZException be)
            {
                payrollItemFormEntity = null;
                payrollItemFormEntityBack = null;
                ShowErrorInfo("读取数据失败: " + be.Message);
            }
            catch (DAOException de)
            {
                payrollItemFormEntity = null;
                payrollItemFormEntityBack = null;
                ShowErrorInfo("读取数据失败: " + de.Message);
            }
        }
Example #7
0
        private void InitPayrollItem()
        {
            // init payrollItem.
            payrollItems = new Hashtable();
            PayrollDAO payrollDAO = new PayrollDAO();

            DataSet resultSet = null;
            try
            {
                List<PayrollItem> prItems = payrollDAO.searchPayrollItemAll();
                    foreach (PayrollItem item in prItems)
                    {
                        PayrollItemFormEntity feitem = new PayrollItemFormEntity();
                        feitem.PayrollItem = item;
                        payrollItems.Add(feitem.PayrollItem.ItemId, feitem);
                    }
            }
            catch (DAOException)
            {
                ;
            }

            List<string> idList;
            foreach (PayrollItemFormEntity item in payrollItems.Values)
            {

                try
                {
                    // empTypes.
                    idList = payrollDAO.searchEmpTypeIdIdByPayrollItemId(item.PayrollItem.ItemId);
                    item.EmpTypeId = idList.ToArray();

                    // calcflags.
                    idList = payrollDAO.searchCalcFlagIdByPayrollItemId(item.PayrollItem.ItemId);
                    item.CalcFlagId = idList.ToArray();

                }
                catch (DAOException)
                {
                    ;
                }
            }
        }
Example #8
0
        public void Save(PayrollItemFormEntity entity)
        {
            SqlConnection conn = new SqlConnection(DBAccess.SQLConnectionString);
            conn.Open();
            SqlTransaction trans = conn.BeginTransaction();

            try
            {
                // udpate payrollitem.
                if (entity.PayrollItem.ItemId == null || entity.PayrollItem.ItemId.Equals(string.Empty))
                {
                    entity.PayrollItem.ItemId = payrollDAO.getNewPayrollItemId();
                    payrollDAO.insertPayrollItem(entity.PayrollItem, "N001", trans);
                }
                else
                {
                    payrollDAO.updatePayrollItem(entity.PayrollItem, "N001", trans);
                }

                // udpate PayrollItemEmpType.
                //1. delete all
                payrollDAO.deletePayrollItemEmpTypeByItemId(entity.PayrollItem.ItemId, trans);
                //2.insert
                foreach (string empTypeId in entity.EmpTypeId)
                {
                    payrollDAO.addPayrollItemEmpType(entity.PayrollItem.ItemId, empTypeId, "N001", trans);
                }

                // udpate PayrollItemCalcFlag.
                //1. delete all
                payrollDAO.deletePayrollItemCalcFlagByItemId(entity.PayrollItem.ItemId, trans);
                //2.insert
                foreach (string flagId in entity.CalcFlagId)
                {
                    payrollDAO.addPayrollItemCalcFlag(entity.PayrollItem.ItemId, flagId, "N001", trans);
                }
            }
            catch (DAOException)
            {
                trans.Rollback();
                throw;
            }
            trans.Commit();
            conn.Close();
        }
Example #9
0
        public PayrollItemFormEntity getPayrollItemFormEntity(string itemId)
        {
            try
            {
                PayrollItemFormEntity formEntity = new PayrollItemFormEntity();
                PayrollItem item = payrollDAO.searchPayrollItemById(itemId);
                if (item == null)
                {
                    return null;
                }
                formEntity.PayrollItem = item;

                List<string> empTypeIds = payrollDAO.searchEmpTypeIdIdByPayrollItemId(itemId);
                if (null == empTypeIds)
                {
                    empTypeIds = new List<string>();
                }
                formEntity.EmpTypeId = empTypeIds.ToArray();

                List<string> calcFlags = payrollDAO.searchCalcFlagIdByPayrollItemId(itemId);
                if (null == calcFlags)
                {
                    calcFlags = new List<string>();
                }
                formEntity.CalcFlagId = calcFlags.ToArray();

                return formEntity;
            }
            catch (DAOException)
            {
                throw;
            }
        }
        private bool MatchCalcFlag(PayrollItemFormEntity item)
        {
            if (multiCalcFlag == null || multiCalcFlag.Equals(""))
            {
                return true;
            }

            string[] flags = multiCalcFlag.Split(',');
            foreach (string flag in flags)
            {
                if (item.CalcFlagId.Contains(flag))
                {
                    return true;
                }
            }

            return false;
        }
        private bool MatchWageBonus(PayrollItemFormEntity item)
        {
            if (multiWageBonus == null || multiWageBonus.Equals(""))
            {
                return true;
            }

            string[] wbs = multiWageBonus.Split(',');

            return wbs.Contains(item.PayrollItem.WageBonus.ToString());
        }
        private bool MatchSysItem(PayrollItemFormEntity item)
        {
            if (multiSysItem == null || multiSysItem.Equals(""))
            {
                return true;
            }

            string[] syss = multiSysItem.Split(',');

            return syss.Contains(item.PayrollItem.SystemItem.ToString());
        }
 private bool MatchId(PayrollItemFormEntity item)
 {
     if (id == null || id.Equals(""))
     {
         return true;
     }
     return item.PayrollItem.ItemId == id;
 }
        private bool MatchGroup(PayrollItemFormEntity item)
        {
            if (multiGroup == null || multiGroup.Equals(""))
            {
                return true;
            }

            string[] grps = multiGroup.Split(',');
            return grps.Contains(item.PayrollItem.Group.ToString());
        }
        private bool MatchEmpType(PayrollItemFormEntity item)
        {
            if (multiEmpType == null || multiEmpType.Equals(""))
            {
                return true;
            }

            string[] empTypes = multiEmpType.Split(',');
            foreach (string empType in empTypes)
            {
                if (item.EmpTypeId.Contains(empType))
                {
                    return true;
                }
            }

            return false;
        }
        private bool MatchCalcMethod(PayrollItemFormEntity item)
        {
            if (multiCalcMethod == null || multiCalcMethod.Equals(""))
            {
                return true;
            }

            string[] cms = multiCalcMethod.Split(',');
            return cms.Contains(item.PayrollItem.CalcMethod.ToString());
        }