protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView       row = (DataRowView)e.Item.DataItem;
        ERequestLateWaive obj = new ERequestLateWaive();

        ERequestLateWaive.db.toObject(row.Row, obj);
    }
    // Start 0000112, Miranda, 2015-01-11
    private bool hasSubmitted(int attendanceRecordID)
    {
        DBFilter filter = new DBFilter();

        filter.add(new Match("AttendanceRecordID", attendanceRecordID));
        // Start 0000112, Miranda, 2015-01-17
        filter.add("RequestLateWaiveCreateDate", false);
        // End 0000112, Miranda, 2015-01-17
        ArrayList list = ERequestLateWaive.db.select(dbConn, filter);

        if (list != null && list.Count > 0)
        {
            // Start 0000112, Miranda, 2015-01-17
            ERequestLateWaive reqLateWaive = (ERequestLateWaive)list[0];// get the latest submitted record of the attendance record.

            DBFilter empReqFilter = new DBFilter();
            empReqFilter.add(new Match("EmpID", CurEmpID));
            empReqFilter.add(new Match("EmpRequestRecordID", reqLateWaive.RequestLateWaiveID));
            empReqFilter.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELATEWAIVE));
            ArrayList empReqList = EEmpRequest.db.select(dbConn, empReqFilter);
            if (empReqList != null && empReqList.Count > 0)
            {
                bool   hasRejected      = false;
                bool   hasCancelled     = false;
                string empRequestStatus = null;
                for (int i = 0; i < empReqList.Count; i++)
                {
                    empRequestStatus = ((EEmpRequest)empReqList[i]).EmpRequestStatus;
                    if (EEmpRequest.STATUS_CANCELLED.Equals(empRequestStatus))
                    {
                        hasCancelled = true;
                    }
                    else if (EEmpRequest.STATUS_REJECTED.Equals(empRequestStatus))
                    {
                        hasRejected = true;
                    }
                }
                return(hasRejected ? true : (hasCancelled ? false : true));
            }
            else
            {
                return(true);
            }
            // End 0000112, Miranda, 2015-01-17
        }
        else
        {
            return(false);
        }
    }
    protected bool loadObject()
    {
        obj = new ERequestLateWaive();
        bool isNew = WebFormWorkers.loadKeys(db, obj, Request);

        if (!db.select(dbConn, obj))
        {
            return(false);
        }

        Hashtable values = new Hashtable();

        db.populate(obj, values);
        binding.toControl(values);

        return(true);
    }
    // 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");
    }
Example #5
0
    protected bool loadObject()
    {
        DBFilter filterStatus = new DBFilter();

        filterStatus.add(new Match("EmpRequestRecordID", CurRequestID));
        filterStatus.add(new Match("EmpRequestType", EEmpRequest.TYPE_EELATEWAIVE));
        ArrayList empRequestList = EEmpRequest.db.select(dbConn, filterStatus);

        if (empRequestList.Count > 0)
        {
            EEmpRequest empRequest = (EEmpRequest)empRequestList[0];
            if (empRequest.EmpID == UserID)
            {
                string submitStatus = empRequest.EmpRequestStatus;
                if ((submitStatus.Equals(EEmpRequest.STATUS_SUBMITTED) || submitStatus.Equals(EEmpRequest.STATUS_ACCEPTED)) && !submitStatus.Equals(EEmpRequest.STATUS_APPROVED))
                {
                    btnCancel.Visible       = true;
                    RejectReasonRow.Visible = false;
                }
                else
                {
                    btnCancel.Visible = false;
                    if (!string.IsNullOrEmpty(empRequest.EmpRequestRejectReason))
                    {
                        RejectReasonRow.Visible = true;
                        lblRejectReason.Text    = empRequest.EmpRequestRejectReason;
                    }
                    else
                    {
                        RejectReasonRow.Visible = false;
                    }
                }
            }
            else
            {
                btnCancel.Visible       = false;
                RejectReasonRow.Visible = false;
            }
            obj = new ERequestLateWaive();
            obj.RequestLateWaiveID = CurRequestID;
            if (!db.select(dbConn, obj))
            {
                return(false);
            }

            EAttendanceRecord aObj = new EAttendanceRecord();
            aObj.AttendanceRecordID = obj.AttendanceRecordID;
            if (sdb.select(dbConn, aObj))
            {
                // Start 0000112, Miranda, 2015-01-17
                AttendanceRecordDate.Text = aObj.AttendanceRecordDate.ToString("yyyy-MM-dd");
                ERosterCode rcObj = new ERosterCode();
                rcObj.RosterCodeID = aObj.RosterCodeID;
                if (ERosterCode.db.select(dbConn, rcObj))
                {
                    RosterCode.Text        = rcObj.RosterCode;
                    RosterCodeDesc.Text    = rcObj.RosterCodeDesc;
                    RosterCodeInTime.Text  = rcObj.RosterCodeInTime.ToString("HH:mm");
                    RosterCodeOutTime.Text = rcObj.RosterCodeOutTime.ToString("HH:mm");
                }
                AttendanceRecordWorkStart.Text = aObj.AttendanceRecordWorkStart.ToString("HH:mm");
                AttendanceRecordWorkEnd.Text   = aObj.AttendanceRecordWorkEnd.ToString("HH:mm");
                // End 0000112, Miranda, 2015-01-17
                AttendanceRecordActualLateMins.Text = aObj.AttendanceRecordActualLateMins.ToString();
            }

            Hashtable values = new Hashtable();
            db.populate(obj, values);
            binding.toControl(values);

            LateWaiveDateToPlaceHolder.Visible = true;

            string LateWaiveAuthorizedMessage = CONFIRM_MESSAGE;

            Authorize.Attributes.Add("onclick", "return confirm(\"" + HROne.Common.WebUtility.GetLocalizedString(LateWaiveAuthorizedMessage) + "\");");
            Reject.Attributes.Add("onclick", "return confirm(\"" + HROne.Common.WebUtility.GetLocalizedString(CONFIRM_MESSAGE) + "\");");


            return(true);
        }
        else
        {
            return(false);
        }
    }