protected void btnGenerate_Click(object sender, EventArgs e)
    {
        PageErrors errors = PageErrors.getErrors(db, Page.Master);

        errors.clear();

        DateTime dtLeaveAppDateFr = new DateTime();
        DateTime dtLeaveAppDateTo = new DateTime();

        if (!DateTime.TryParse(periodFrom.Value, out dtLeaveAppDateFr))
        {
            dtLeaveAppDateFr = new DateTime(1940, 1, 1);
        }


        if (!DateTime.TryParse(periodTo.Value, out dtLeaveAppDateTo))
        {
            dtLeaveAppDateTo = AppUtils.ServerDateTime().Date;
        }



        // Start 0000182, Ricky So, 2015-04-06
        ESSAuthorizationProcess    authProcess = new ESSAuthorizationProcess(dbConn);
        List <EAuthorizationGroup> groupList   = authProcess.GetAuthorizerAuthorizationGroupList(CurID);
        ArrayList EmpIDList = new ArrayList();

        if (groupList.Count > 0)
        {
            DBFilter authWorkFlowDetailFilter = new DBFilter();
            string   authGroupIDList          = string.Empty;
            foreach (EAuthorizationGroup group in groupList)
            {
                if (string.IsNullOrEmpty(authGroupIDList))
                {
                    authGroupIDList = group.AuthorizationGroupID.ToString();
                }
                else
                {
                    authGroupIDList += ", " + group.AuthorizationGroupID.ToString();
                }
            }
            authWorkFlowDetailFilter.add(new IN("AuthorizationGroupID", authGroupIDList, null));

            DBFilter empPosFilter = EEmpPositionInfo.CreateDateRangeDBFilter("epi", dtLeaveAppDateTo, dtLeaveAppDateTo);
            empPosFilter.add(new IN("epi.AuthorizationWorkFlowIDLeaveApp", "SELECT DISTINCT awfd.AuthorizationWorkFlowID FROM " + EAuthorizationWorkFlowDetail.db.dbclass.tableName + " awfd", authWorkFlowDetailFilter));

            DBFilter empInfoFilter = new DBFilter();
            empInfoFilter.add(new IN("EmpID", "SELECT DISTINCT epi.EmpID FROM " + EEmpPositionInfo.db.dbclass.tableName + " epi", empPosFilter));

            DBFilter empTermFilter = new DBFilter();
            empTermFilter.add(new Match("EmpTermLastDate", "<", dtLeaveAppDateTo));
            empInfoFilter.add(new IN("NOT EMPID", "SELECT et.EmpID FROM " + EEmpTermination.db.dbclass.tableName + " et", empTermFilter));

            ArrayList EmpList = EEmpPersonalInfo.db.select(dbConn, empInfoFilter);
            foreach (EEmpPersonalInfo empInfo in EmpList)
            {
                EmpIDList.Add(empInfo.EmpID);
            }
        }

        EmpIDList.Add(CurID);

        HROne.Reports.Employee.LeaveApplicationProcess rpt = new HROne.Reports.Employee.LeaveApplicationProcess(dbConn, EmpIDList, dtLeaveAppDateFr, dtLeaveAppDateTo);
        string reportFileName = WebUtils.GetLocalizedReportFile(Server.MapPath("~/LeaveApplicationProcessList.rpt"));

        WebUtils.ReportExport(Response, rpt, reportFileName, "PDF", "LeaveApplicationList");

        //ArrayList values = new ArrayList();

        //values.Add(CurID);

        //if (errors.isEmpty())
        //{
        //    HROne.Reports.Employee.LeaveApplicationProcess rpt = new HROne.Reports.Employee.LeaveApplicationProcess(dbConn, values, dtLeaveAppDateFr, dtLeaveAppDateTo);
        //    string reportFileName = WebUtils.GetLocalizedReportFile(Server.MapPath("~/LeaveApplicationProcessList.rpt"));
        //    //WebUtils.ReportExport(dbConn, user, errors, lblReportHeader.Text, Response, rpt, reportFileName, ((Button)sender).CommandArgument, "LeaveApplicationList", true);
        //    WebUtils.ReportExport(Response, rpt, reportFileName, "PDF", "LeaveApplicationList");
        //}

        // End 0000182, Ricky So, 2015-04-06
    }
Ejemplo n.º 2
0
    protected void btnGenerate_Click(object sender, EventArgs e)
    {
        PageErrors errors = PageErrors.getErrors(db, Page.Master);

        errors.clear();

        DateTime currentDate = AppUtils.ServerDateTime().Date;
        DateTime asOfDate    = currentDate;

        if (!DateTime.TryParse(BalanceAsOfDate.Value, out asOfDate))
        {
            asOfDate = currentDate;
        }
        ESSAuthorizationProcess    authProcess = new ESSAuthorizationProcess(dbConn);
        List <EAuthorizationGroup> groupList   = authProcess.GetAuthorizerAuthorizationGroupList(CurID);
        ArrayList EmpIDList = new ArrayList();

        if (groupList.Count > 0)
        {
            DBFilter authWorkFlowDetailFilter = new DBFilter();
            string   authGroupIDList          = string.Empty;
            foreach (EAuthorizationGroup group in groupList)
            {
                if (string.IsNullOrEmpty(authGroupIDList))
                {
                    authGroupIDList = group.AuthorizationGroupID.ToString();
                }
                else
                {
                    authGroupIDList += ", " + group.AuthorizationGroupID.ToString();
                }
            }
            authWorkFlowDetailFilter.add(new IN("AuthorizationGroupID", authGroupIDList, null));

            DBFilter empPosFilter = EEmpPositionInfo.CreateDateRangeDBFilter("epi", currentDate, currentDate);
            empPosFilter.add(new IN("epi.AuthorizationWorkFlowIDLeaveApp", "SELECT DISTINCT awfd.AuthorizationWorkFlowID FROM " + EAuthorizationWorkFlowDetail.db.dbclass.tableName + " awfd", authWorkFlowDetailFilter));

            DBFilter empInfoFilter = new DBFilter();
            empInfoFilter.add(new IN("EmpID", "SELECT DISTINCT epi.EmpID FROM " + EEmpPositionInfo.db.dbclass.tableName + " epi", empPosFilter));

            DBFilter empTermFilter = new DBFilter();
            empTermFilter.add(new Match("EmpTermLastDate", "<", currentDate < asOfDate?currentDate:asOfDate));
            empInfoFilter.add(new IN("NOT EMPID", "SELECT et.EmpID FROM " + EEmpTermination.db.dbclass.tableName + " et", empTermFilter));

            ArrayList EmpList = EEmpPersonalInfo.db.select(dbConn, empInfoFilter);
            foreach (EEmpPersonalInfo empInfo in EmpList)
            {
                EmpIDList.Add(empInfo.EmpID);
            }
        }

        // Start Ricky So, 0000119, 2014/10/28
        EmpIDList.Add(WebUtils.GetCurUser(Session).EmpID);
        // End Ricky So, 0000119, 2014/10/28

        if (EmpIDList.Count > 0)
        {
            ArrayList leaveTypeList = new ArrayList();
            leaveTypeList.Add(ELeaveType.ANNUAL_LEAVE_TYPE(dbConn));
            // Start 0000057, Ricky So, 2014/07/03


            DBFilter m_leaveTypeFilter = new DBFilter();
            DBFilter m_leaveCodeFilter = new DBFilter();

            OR m_orLeaveType = new OR();
            m_orLeaveType.add(new Match("LeaveType", "SLCAT1"));
            m_orLeaveType.add(new Match("LeaveType", "SLCAT2"));

            m_leaveTypeFilter.add(m_orLeaveType);

            m_leaveCodeFilter.add(new IN("LeaveTypeID", "SELECT LeaveTypeID FROM LeaveType", m_leaveTypeFilter));

            ArrayList m_leaveCodeList = ELeaveCode.db.select(dbConn, m_leaveCodeFilter);
            if (m_leaveCodeList.Count > 0)
            {
                leaveTypeList.Add(ELeaveType.SLCAT1_LEAVE_TYPE(dbConn));
                leaveTypeList.Add(ELeaveType.SLCAT2_LEAVE_TYPE(dbConn));
            }

            // End 0000057, Ricky So, 2014/07/03
            HROne.Reports.Employee.LeaveBalanceProcess rpt = new HROne.Reports.Employee.LeaveBalanceProcess(dbConn, EmpIDList, asOfDate, leaveTypeList);
            string reportFileName = WebUtils.GetLocalizedReportFile(Server.MapPath("~/Report_Employee_LeaveBalance.rpt"));
            WebUtils.ReportExport(Response, rpt, reportFileName, "PDF", "LeaveBalance");
        }
        else
        {
            errors.addError("No employee can be generated");
        }
    }
Ejemplo n.º 3
0
    protected void Save_Click(object sender, EventArgs e)
    {
        DateTime         createDate = DateTime.Now;
        EEmpPersonalInfo c          = new EEmpPersonalInfo();
        EEmpRequest      EmpRequest = new EEmpRequest();


        Hashtable values = new Hashtable();

        binding.toValues(values);

        PageErrors errors = PageErrors.getErrors(db, Page);

        errors.clear();


        db.validate(errors, values);

        if (!errors.isEmpty())
        {
            return;
        }


        db.parse(values, c);

        if (!errors.isEmpty())
        {
            return;
        }

        ERequestEmpPersonalInfo RequestEmpProfile = new ERequestEmpPersonalInfo();

        // Start 0000092, KuangWei, 2014-10-17
        if (c.EmpNationalityID > 0)
        {
            ENationality m_nationality = new ENationality();
            m_nationality.NationalityID = c.EmpNationalityID;
            if (ENationality.db.select(dbConn, m_nationality))
            {
                c.EmpNationality = m_nationality.NationalityDesc;
            }
        }
        else
        {
            c.EmpNationality = "";
        }

        if (c.EmpPlaceOfBirthID > 0)
        {
            EPlaceOfBirth m_placeOfBirth = new EPlaceOfBirth();
            m_placeOfBirth.PlaceOfBirthID = c.EmpPlaceOfBirthID;
            if (EPlaceOfBirth.db.select(dbConn, m_placeOfBirth))
            {
                c.EmpPlaceOfBirth = m_placeOfBirth.PlaceOfBirthDesc;
            }
        }
        else
        {
            c.EmpPlaceOfBirth = "";
        }

        if (c.EmpPassportIssuedCountryID > 0)
        {
            EIssueCountry m_issueCountry = new EIssueCountry();
            m_issueCountry.CountryID = c.EmpPassportIssuedCountryID;
            if (EIssueCountry.db.select(dbConn, m_issueCountry))
            {
                c.EmpPassportIssuedCountry = m_issueCountry.CountryDesc;
            }
        }
        else
        {
            c.EmpPassportIssuedCountry = "";
        }


        RequestEmpProfile.RequestEmpPlaceOfBirth            = c.EmpPlaceOfBirth;
        RequestEmpProfile.RequestEmpPlaceOfBirthID          = c.EmpPlaceOfBirthID;
        RequestEmpProfile.RequestEmpPassportIssuedCountryID = c.EmpPassportIssuedCountryID;
        RequestEmpProfile.RequestEmpNationalityID           = c.EmpNationalityID;
        // End 0000092, KuangWei, 2014-10-17
        RequestEmpProfile.EmpID                           = c.EmpID;
        RequestEmpProfile.RequestEmpAlias                 = c.EmpAlias;
        RequestEmpProfile.RequestEmpMaritalStatus         = c.EmpMaritalStatus;
        RequestEmpProfile.RequestEmpPassportNo            = c.EmpPassportNo;
        RequestEmpProfile.RequestEmpPassportIssuedCountry = c.EmpPassportIssuedCountry;
        RequestEmpProfile.RequestEmpPassportExpiryDate    = c.EmpPassportExpiryDate;
        RequestEmpProfile.RequestEmpNationality           = c.EmpNationality;
        RequestEmpProfile.RequestEmpHomePhoneNo           = c.EmpHomePhoneNo;
        RequestEmpProfile.RequestEmpMobileNo              = c.EmpMobileNo;
        RequestEmpProfile.RequestEmpOfficePhoneNo         = c.EmpOfficePhoneNo;
        RequestEmpProfile.RequestEmpEmail                 = c.EmpEmail;
        RequestEmpProfile.RequestEmpResAddr               = c.EmpResAddr;
        RequestEmpProfile.RequestEmpResAddrAreaCode       = c.EmpResAddrAreaCode;
        RequestEmpProfile.RequestEmpCorAdd                = c.EmpCorAddr;

        try
        {
            ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
            authorization.SubmitEmployeeInfoChange(RequestEmpProfile);
        }
        catch (Exception ex)
        {
            errors.addError(ex.Message);
        }

        if (!errors.isEmpty())
        {
            return;
        }
        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
    }
Ejemplo n.º 4
0
    protected void Save_Click(object sender, EventArgs e)
    {
        ERequestOTClaim c = new ERequestOTClaim();

        Hashtable values = new Hashtable();

        binding.toValues(values);

        PageErrors errors = PageErrors.getErrors(db, Page);

        errors.clear();


        db.validate(errors, values);

        if (!errors.isEmpty())
        {
            return;
        }


        db.parse(values, c);

        if (c.RequestOTClaimHourTo < c.RequestOTClaimHourFrom)
        {
            errors.addError("RequestOTClaimTimeFrom", "Invald hours");
        }
        if (c.RequestOTClaimPeriodTo < c.RequestOTClaimPeriodFrom)
        {
            errors.addError("RequestOTClaimPeriodFrom", "Date To cannot be earlier than Date From");
        }

        if (c.RequestOTHours <= 0)
        {
            errors.addError(string.Format(HROne.Translation.PageErrorMessage.ERROR_FIELD_REQUIRED, new string[] { lblOTHours.Text }));
        }

        if (!errors.isEmpty())
        {
            return;
        }

        // Start Ricky So, 2014-09-05, Avoid checking time overlap for CL Requisition
        //ArrayList overlapOTClaimList = new ArrayList();
        //if (c.IsOverlapOTClaim(dbConn, out overlapOTClaimList))
        //{
        //    string strHourlyOverlapMessage = string.Empty;

        //    foreach (BaseObject overlapOTClaim in overlapOTClaimList)
        //    {
        //        if (overlapOTClaim is EOTClaim)
        //        {
        //            EOTClaim previousOTClaim = (EOTClaim)overlapOTClaim;
        //            if (string.IsNullOrEmpty(strHourlyOverlapMessage))
        //                strHourlyOverlapMessage = "Leave time cannot overlap with previous CL Requisition";
        //        }
        //        else if (overlapOTClaim is ERequestOTClaim)
        //        {
        //            ERequestOTClaim previousRequestOTClaim = (ERequestOTClaim)overlapOTClaim;
        //            if (string.IsNullOrEmpty(strHourlyOverlapMessage))
        //                strHourlyOverlapMessage = "Leave time cannot overlap with previous CL Requisition";

        //        }
        //    }

        //    if (!string.IsNullOrEmpty(strHourlyOverlapMessage))
        //        errors.addError(strHourlyOverlapMessage);
        //}
        // End Ricky So, 2014-09-05

        if (!errors.isEmpty())
        {
            return;
        }

        try
        {
            ESSAuthorizationProcess authorization = new ESSAuthorizationProcess(dbConn);
            authorization.SubmitOTClaim(c);
        }
        catch (Exception ex)
        {
            errors.addError(ex.Message);
        }

        if (!errors.isEmpty())
        {
            return;
        }
        HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/ESS_EmpRequestStatus.aspx");
    }