protected void SaveNewRecord(object sender, DirectEventArgs e)
        {
            try
            {
                //Getting the id to check if it is an Add or an edit as they are managed within the same form.

                string obj = e.ExtraParams["values"];


                JsonSerializerSettings settings = new JsonSerializerSettings();
                CustomResolver         res      = new CustomResolver();
                //  res.AddRule("leaveRequest1_employeeId", "employeeId");
                //res.AddRule("leaveRequest1_ltId", "ltId");
                // res.AddRule("leaveRequest1_status", "status");
                settings.ContractResolver = res;
                LeaveReplacementApproval b = JsonConvert.DeserializeObject <LeaveReplacementApproval>(obj, settings);
                b.apStatus = Convert.ToInt16(LeaveApprovalStatusControl.GetApprovalStatus());
                //  b.leaveDays = Convert.ToDouble(leaveDaysField.Text);
                //b.status = Convert.ToInt16(status1);
                string id = e.ExtraParams["id"];
                // Define the object to add or edit as null
                if (!b.isPaid.HasValue)
                {
                    b.isPaid = false;
                }

                if (employeeId.SelectedItem != null)
                {
                    b.employeeName = employeeId.SelectedItem.Text;
                }
                if (ltId.SelectedItem != null)
                {
                    b.ltName = ltId.SelectedItem.Text;
                }

                //List<LeaveDay> days = GenerateLeaveDays(e.ExtraParams["days"]);



                try
                {
                    LeaveReturnRecordRequest rec = new LeaveReturnRecordRequest();
                    rec.leaveId = CurrentLeaveId.Text;
                    RecordResponse <LeaveReplacementApproval> recordResponse = _selfServiceService.ChildGetRecord <LeaveReplacementApproval>(rec);


                    if (!recordResponse.Success)
                    {
                        Common.errorMessage(recordResponse);
                        return;
                    }
                    PostRequest <LeaveReplacementApproval> request = new PostRequest <LeaveReplacementApproval>();

                    request.entity = recordResponse.result;
                    request.entity.replApStatus = apStatus.GetApprovalStatus();
                    PostResponse <LeaveReplacementApproval> r = _selfServiceService.ChildAddOrUpdate <LeaveReplacementApproval>(request);


                    //check if the insert failed
                    if (!r.Success)    //it maybe be another condition
                    {
                        //Show an error saving...
                        X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                        Common.errorMessage(r);;
                        return;
                    }
                    else
                    {
                        b.recordId = r.recordId;

                        Store1.Reload();


                        //Display successful notification
                        Notification.Show(new NotificationConfig
                        {
                            Title = Resources.Common.Notification,
                            Icon  = Icon.Information,
                            Html  = Resources.Common.RecordSavingSucc
                        });


                        //RecordRequest rec = new RecordRequest();
                        //rec.RecordID = b.recordId;
                        //RecordResponse<LeaveRequest> recordResponse = _leaveManagementService.ChildGetRecord<LeaveRequest>(rec);
                        //if (!recordResponse.Success)
                        //{
                        //    X.Msg.Alert(Resources.Common.Error, recordResponse.Summary).Show();
                        //    return;
                        //}
                        //leaveRef.Text = recordResponse.result.leaveRef;
                        //this.EditRecordWindow.Close();
                        //SetTabPanelEnabled(true);
                        //////RowSelectionModel sm = this.GridPanel1.GetSelectionModel() as RowSelectionModel;
                        //////sm.DeselectAll();
                        //////sm.Select(b.recordId.ToString());
                    }
                }
                catch (Exception ex)
                {
                    //Error exception displaying a messsage box
                    X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                    X.Msg.Alert(Resources.Common.Error, Resources.Common.ErrorSavingRecord).Show();
                }
            }



            catch (Exception exp)
            {
                X.Msg.Alert(Resources.Common.Error, exp.Message).Show();
            }
        }
Beispiel #2
0
        protected void PoPuP(object sender, DirectEventArgs e)
        {
            string id = e.ExtraParams["leaveId"];

            string employeeIdParam = e.ExtraParams["employeeId"];
            string returnTypeParam = e.ExtraParams["returnType"];
            string type            = e.ExtraParams["type"];

            ApprovalsGridPanel.Disabled = false;
            switch (type)
            {
            case "imgEdit":


                BasicInfoTab.Reset();

                //LeaveRequestListRequest leaveReq = new LeaveRequestListRequest();



                //leaveReq.BranchId = 0;
                //leaveReq.DepartmentId = 0;
                //leaveReq.raEmployeeId = 0;


                //leaveReq.EmployeeId = Convert.ToInt32(employeeId.SelectedItem.Value);



                //leaveReq.status = 2;



                //leaveReq.Size = "50";
                //leaveReq.StartAt = "0";
                //leaveReq.SortBy = "recordId";

                //leaveReq.Filter = "";
                //ListResponse<LeaveRequest> leaveResp = _leaveManagementService.ChildGetAll<LeaveRequest>(leaveReq);

                //if (!leaveResp.Success)
                //{
                //    X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                //    Common.errorMessage(leaveResp);
                //    return;
                //}
                //leaveIdStore.DataSource = leaveResp.Items;
                //leaveIdStore.DataBind();

                LeaveReturnRecordRequest r = new LeaveReturnRecordRequest();
                r.leaveId = id;
                RecordResponse <LeaveReturn> response = _leaveManagementService.ChildGetRecord <LeaveReturn>(r);
                if (!response.Success)
                {
                    X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                    Common.errorMessage(response);
                    return;
                }
                employeeId.GetStore().Add(new object[]
                {
                    new
                    {
                        recordId = response.result.employeeId,
                        fullName = response.result.employeeName
                    }
                });
                employeeId.SetValue(response.result.employeeId);
                employeeId.Select(response.result.employeeId);
                fillLeavesStore();
                //Step 2 : call setvalues with the retrieved object
                this.BasicInfoTab.SetValues(response.result);
                FillApprovalsStore(id, employeeIdParam, returnTypeParam);

                this.EditRecordWindow.Title = Resources.Common.EditWindowsTitle;
                this.EditRecordWindow.Show();
                break;

            case "imgDelete":
                X.Msg.Confirm(Resources.Common.Confirmation, Resources.Common.DeleteOneRecord, new MessageBoxButtonsConfig
                {
                    Yes = new MessageBoxButtonConfig
                    {
                        //We are call a direct request metho for deleting a record
                        Handler = String.Format("App.direct.DeleteRecord({0},{1},{2})", id, employeeIdParam, returnTypeParam),
                        Text    = Resources.Common.Yes
                    },
                    No = new MessageBoxButtonConfig
                    {
                        Text = Resources.Common.No
                    }
                }).Show();
                break;

            case "imgAttach":

                //Here will show up a winow relatice to attachement depending on the case we are working on
                break;

            default:
                break;
            }
        }
        protected void PoPuP(object sender, DirectEventArgs e)
        {
            string id           = e.ExtraParams["id"];
            string type         = e.ExtraParams["type"];
            string replApStatus = e.ExtraParams["replApStatus"];

            CurrentLeaveId.Text = id;
            apStatus.disableApprovalStatus(true);
            SaveButton.Hidden = true;
            switch (type)
            {
            case "imgEdit":

                //Step 1 : get the object from the Web Service

                //startDate.SuspendEvent("change");
                //endDate.SuspendEvent("change");
                leaveDaysField.SetHidden(true);
                leaveHours.SetHidden(true);
                workingHours.SetHidden(true);
                LeaveReturnRecordRequest r = new LeaveReturnRecordRequest();
                r.leaveId = id;
                // CurrentLeave.Text = r.RecordID;
                //  shouldDisableLastDay.Text = "0";

                RecordResponse <LeaveRequest> response = _selfServiceService.ChildGetRecord <LeaveRequest>(r);
                if (!response.Success)
                {
                    X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                    Common.errorMessage(response);
                    return;
                }
                //Step 2 : call setvalues with the retrieved object
                this.BasicInfoTab.SetValues(response.result);
                LeaveApprovalStatusControl.setApprovalStatus(response.result.apStatus.ToString());
                //   calDays.Value = (response.result.endDate - response.result.startDate).Days + 1;

                FillLeaveType();

                ltId.Select(response.result.ltId.ToString());
                //status.Select(response.result.status);
                //  StoredLeaveChanged.Text = "0";
                if (response.result.employeeId != "0")
                {
                    employeeId.GetStore().Add(new object[]
                    {
                        new
                        {
                            recordId = response.result.employeeId,
                            fullName = response.result.employeeName
                        }
                    });
                    employeeId.SetValue(response.result.employeeId);
                }
                LoadQuickViewInfo(response.result.employeeId, response.result.startDate);

                //LeaveDayListRequest req = new LeaveDayListRequest();
                //req.LeaveId = r.RecordID;
                //ListResponse<LeaveDay> resp = _leaveManagementService.ChildGetAll<LeaveDay>(req);
                //if (!resp.Success)
                //{
                //    Common.errorMessage(resp);
                //    return;
                //}

                //;
                //resp.Items.ForEach(x => x.dow = (short)DateTime.ParseExact(x.dayId, "yyyyMMdd", new CultureInfo("en")).DayOfWeek);



                panelRecordDetails.ActiveTabIndex = 0;



                //else if (response.result.status == 3 || response.result.status == -1)
                //    setUsed(true);
                //else
                //{ setNormal(); }
                setApproved(true);
                calDays.Value = (response.result.endDate - response.result.startDate).Days + 1;
                apStatus.setApprovalStatus(replApStatus);
                this.EditRecordWindow.Title = Resources.Common.EditWindowsTitle;
                this.EditRecordWindow.Show();
                //employeeId.ResumeEvent("select");
                //startDate.ResumeEvent("change");
                //endDate.ResumeEvent("change");
                if (replApStatus == "1")
                {
                    apStatus.disableApprovalStatus(false);
                    SaveButton.Hidden = false;
                }



                break;

            case "imgDelete":
                X.Msg.Confirm(Resources.Common.Confirmation, Resources.Common.DeleteOneRecord, new MessageBoxButtonsConfig
                {
                    Yes = new MessageBoxButtonConfig
                    {
                        //We are call a direct request metho for deleting a record
                        Handler = String.Format("App.direct.DeleteRecord({0})", id),
                        Text    = Resources.Common.Yes
                    },
                    No = new MessageBoxButtonConfig
                    {
                        Text = Resources.Common.No
                    }
                }).Show();
                break;

            case "colAttach":

                //Here will show up a winow relatice to attachement depending on the case we are working on
                break;

            default:
                break;
            }
        }