Пример #1
0
    // End 0000112, Miranda, 2015-01-11

    protected void Save_Click(object sender, EventArgs e)
    {
        ERequestLateWaive c = new ERequestLateWaive();

        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.RequestLateWaiveHourTo < c.RequestLateWaiveHourFrom)
        //    errors.addError("RequestLateWaiveTimeFrom", "Invald hours");
        //if (c.RequestLateWaivePeriodTo < c.RequestLateWaivePeriodFrom)
        //        errors.addError("RequestLateWaivePeriodFrom", "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 overlapLateWaiveList = new ArrayList();
        //if (c.IsOverlapLateWaive(dbConn, out overlapLateWaiveList))
        //{
        //    string strHourlyOverlapMessage = string.Empty;

        //    foreach (BaseObject overlapLateWaive in overlapLateWaiveList)
        //    {
        //        if (overlapLateWaive is ELateWaive)
        //        {
        //            ELateWaive previousLateWaive = (ELateWaive)overlapLateWaive;
        //            if (string.IsNullOrEmpty(strHourlyOverlapMessage))
        //                strHourlyOverlapMessage = "Leave time cannot overlap with previous CL Requisition";
        //        }
        //        else if (overlapLateWaive is ERequestLateWaive)
        //        {
        //            ERequestLateWaive previousRequestLateWaive = (ERequestLateWaive)overlapLateWaive;
        //            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);
            // loap each attendance record which is ticked
            ArrayList list = new ArrayList();
            foreach (RepeaterItem i in Repeater.Items)
            {
                CheckBox cb = (CheckBox)i.FindControl("ItemSelect");
                if (cb.Checked)
                {
                    DBObject o = sdb.createObject();
                    WebFormUtils.GetKeys(sdb, o, cb);
                    list.Add(o);
                }
            }
            foreach (EAttendanceRecord o in list)
            {
                c.AttendanceRecordID = o.AttendanceRecordID;
                authorization.SubmitLateWaive(c);
            }
        }
        catch (Exception ex)
        {
            errors.addError(ex.Message);
        }

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