public PromotionLeaveDetails objGetPromotionLeaveDetails(string EmployeeId)
        {
            PromotionLeaveDetails argPromotionLeaveDetails = new PromotionLeaveDetails();
            DataSet DataSetToFill = new DataSet();

            if (EmployeeId.ToString().Trim() == "")
            {
                goto ErrorHandlers;
            }

            DataSetToFill = this.GetPromotionLeaveDetails4ID(EmployeeId.ToString().Trim());

            if (DataSetToFill.Tables[0].Rows.Count <= 0)
            {
                goto Finish;
            }

            argPromotionLeaveDetails = this.objCretePromotionLeaveDetails((DataRow)DataSetToFill.Tables[0].Rows[0]);

            goto Finish;

ErrorHandlers:

Finish:
            DataSetToFill = null;

            return(argPromotionLeaveDetails);
        }
        private PromotionLeaveDetails objCretePromotionLeaveDetails(DataRow dr)
        {
            PromotionLeaveDetails tPromotionLeaveDetails = new PromotionLeaveDetails();

            tPromotionLeaveDetails.SetObjectInfo(dr);

            return(tPromotionLeaveDetails);
        }
        public string InsertPromotionLeaveDetails(PromotionLeaveDetails argPromotionLeaveDetails, DataAccess da, List <ErrorHandlerClass> lstErr)
        {
            da.Open_Connection();

            SqlParameter[] param = new SqlParameter[19];
            param[0]  = new SqlParameter("@EmployeeId", argPromotionLeaveDetails.EmployeeId);
            param[1]  = new SqlParameter("@LeaveType", argPromotionLeaveDetails.LeaveType);
            param[2]  = new SqlParameter("@Opening", argPromotionLeaveDetails.Opening);
            param[3]  = new SqlParameter("@MonthlyEarnedType", argPromotionLeaveDetails.MonthlyEarnedType);
            param[4]  = new SqlParameter("@MonthlyEarned", argPromotionLeaveDetails.MonthlyEarned);
            param[5]  = new SqlParameter("@EarningLeaveAllowedAfter", argPromotionLeaveDetails.EarningLeaveAllowedAfter);
            param[6]  = new SqlParameter("@EarningLeaveIn", argPromotionLeaveDetails.EarningLeaveIn);
            param[7]  = new SqlParameter("@ConsumedEL", argPromotionLeaveDetails.ConsumedEL);
            param[8]  = new SqlParameter("@CasulLeaveAllowedAfter", argPromotionLeaveDetails.CasulLeaveAllowedAfter);
            param[9]  = new SqlParameter("@CasualLeaveAllowedIn", argPromotionLeaveDetails.CasualLeaveAllowedIn);
            param[10] = new SqlParameter("@EarnedCL", argPromotionLeaveDetails.EarnedCL);

            param[11] = new SqlParameter("@CreatedBy", argPromotionLeaveDetails.CreatedBy);
            param[12] = new SqlParameter("@ModifiedBy", argPromotionLeaveDetails.ModifiedBy);
            param[13] = new SqlParameter("@ItemNo", argPromotionLeaveDetails.ItemNo);
            param[14] = new SqlParameter("@NewOpening", argPromotionLeaveDetails.NewOpening);
            param[15] = new SqlParameter("@EmployeePromotionNo", argPromotionLeaveDetails.EmployeePromotionNo);

            param[16]           = new SqlParameter("@Type", SqlDbType.Char);
            param[16].Size      = 1;
            param[16].Direction = ParameterDirection.Output;

            param[17]           = new SqlParameter("@Message", SqlDbType.VarChar);
            param[17].Size      = 255;
            param[17].Direction = ParameterDirection.Output;

            param[18]           = new SqlParameter("@returnvalue", SqlDbType.VarChar);
            param[18].Size      = 20;
            param[18].Direction = ParameterDirection.Output;

            int i = da.NExecuteNonQuery("Proc_InsertPromotionLeaveDetails", param);

            string strMessage  = Convert.ToString(param[17].Value);
            string strType     = Convert.ToString(param[16].Value);
            string strRetValue = Convert.ToString(param[18].Value);

            objErrorHandlerClass.Type        = strType;
            objErrorHandlerClass.MsgId       = 0;
            objErrorHandlerClass.Message     = strMessage.ToString();
            objErrorHandlerClass.RowNo       = 0;
            objErrorHandlerClass.FieldName   = "";
            objErrorHandlerClass.LogCode     = "";
            objErrorHandlerClass.ReturnValue = strRetValue;
            lstErr.Add(objErrorHandlerClass);
            return(strRetValue);
        }
        public ICollection <ErrorHandlerClass> SavePromotionLeaveDetails(PromotionLeaveDetails objPromotionLeaveDetails)
        {
            List <ErrorHandlerClass> lstErr = new List <ErrorHandlerClass>();
            DataAccess da = new DataAccess();

            try
            {
                da.Open_Connection();
                da.BEGIN_TRANSACTION();
                string strretValue = "";

                if (blnIsPromotionLeaveDetailsExist(objPromotionLeaveDetails.EmployeePromotionNo, objPromotionLeaveDetails.EmployeeId, objPromotionLeaveDetails.ItemNo) == false)
                {
                    strretValue = InsertPromotionLeaveDetails(objPromotionLeaveDetails, da, lstErr);

                    if (strretValue != "")
                    {
                        if (blnIsEmployeeLeaveDetailsExist(objPromotionLeaveDetails.EmployeeId, objPromotionLeaveDetails.ItemNo) == true)
                        {
                            UpdateEmployeePromotionLeaveDetails(objPromotionLeaveDetails, da, lstErr);
                        }
                        else
                        {
                            InsertEmployeePromotionLeaveDetails(objPromotionLeaveDetails, da, lstErr);
                        }
                    }

                    foreach (ErrorHandlerClass objerr in lstErr)
                    {
                        if (objerr.Type == "E")
                        {
                            da.ROLLBACK_TRANSACTION();
                            return(lstErr);
                        }
                    }
                    da.COMMIT_TRANSACTION();
                }
                else
                {
                    UpdatePromotionLeaveDetails(objPromotionLeaveDetails, da, lstErr);
                    foreach (ErrorHandlerClass objerr in lstErr)
                    {
                        if (objerr.Type == "E")
                        {
                            da.ROLLBACK_TRANSACTION();
                            return(lstErr);
                        }
                    }
                    da.COMMIT_TRANSACTION();
                }
            }
            catch (Exception ex)
            {
                if (da != null)
                {
                    da.ROLLBACK_TRANSACTION();
                }
                objErrorHandlerClass.Type      = ErrorConstant.strAboartType;
                objErrorHandlerClass.MsgId     = 0;
                objErrorHandlerClass.Message   = ex.Message.ToString();
                objErrorHandlerClass.RowNo     = 0;
                objErrorHandlerClass.FieldName = "";
                objErrorHandlerClass.LogCode   = "";
                lstErr.Add(objErrorHandlerClass);
            }
            finally
            {
                if (da != null)
                {
                    da.Close_Connection();
                    da = null;
                }
            }
            return(lstErr);
        }