Esempio n. 1
0
 public string ChangeStatus(LeaveStatusModel status)
 {
     using (var dac = new LeaveDac())
     {
         return(dac.ChangeStatus(status));
     }
 }
Esempio n. 2
0
 public string ChangeStatus(LeaveStatusModel status)
 {
     using (ILeaveHelper helper = new LeaveHelper())
     {
         return(helper.ChangeStatus(status));
     }
 }
Esempio n. 3
0
 public ActionResult ChangeStatus(LeaveStatusModel obj)
 {
     obj.UserId = UserId;
     using (var client = new LeaveClient())
     {
         string Status = client.ChangeStatus(obj);
         if (Status == "Saved")
         {
             string action = string.Empty;
             if (obj.Status == "R")
             {
                 action = "Rejected";
             }
             else if (obj.Status == "A")
             {
                 action = "Approved";
             }
             else if (obj.Status == "C")
             {
                 action = "Cancelled";
             }
             try
             {
                 EmailHelper emailHelper = new EmailHelper();
                 //#if DEBUG
                 emailHelper.SendRequestEmail(Convert.ToInt64(obj.LeaveId), action);
                 //#else
                 //    BackgroundJob.Enqueue(() => emailHelper.SendEmail(Convert.ToInt64(obj.LeaveId), action));
                 //#endif
             }
             catch
             {
                 throw;
             }
         }
         return(Json(Status));
     }
 }
        public async void OnLeaveActionOption(ParentStudentLeaveStatus obj)
        {
            LeaveStatusModel leaveStatusModel = new LeaveStatusModel();
            var result = await App.Current.MainPage.DisplayActionSheet("Choose what action you take", "Cancel", null, "Approve", "Reject");

            if (result.Equals("Approve"))
            {
                leaveStatusModel.hostelAdmissionId = hosteladmissionids;
                leaveStatusModel.leaveTypeId       = obj.leaveTypeId;
                leaveStatusModel.isApproved        = "Approved";
                wardenService.ApproveWardLeave(leaveStatusModel);
            }
            else if (result.Equals("Reject"))
            {
                leaveStatusModel.hostelAdmissionId = hosteladmissionids;
                leaveStatusModel.leaveTypeId       = obj.leaveTypeId.ToString();
                leaveStatusModel.isApproved        = "Reject";
                wardenService.ApproveWardLeave(leaveStatusModel);
            }
            else
            {
            }
        }
Esempio n. 5
0
        public async void ApproveWardLeave(LeaveStatusModel leaveStatusModel)
        {
            UpdateAreaResponse      updateAreaResponse;
            UpdateAreaErrorResponse updateAreaErrorResponse;
            HttpResponseMessage     response;

            try
            {
                var client = new HttpClient();
                client.BaseAddress = new Uri(ApplicationURL.BaseURL);
                string jsn     = JsonConvert.SerializeObject(leaveStatusModel);
                var    content = new StringContent(jsn, Encoding.UTF8, "application/json");
                response = await client.PostAsync(ApplicationURL.ActionAgainstWardLeave, content);

                if ((int)response.StatusCode == 200)
                {
                    UserDialogs.Instance.HideLoading();
                    string result = await response.Content.ReadAsStringAsync();

                    updateAreaResponse = JsonConvert.DeserializeObject <UpdateAreaResponse>(result);
                    iapproveleave.approved(updateAreaResponse.message);
                }
                else
                {
                    UserDialogs.Instance.HideLoading();
                    string result = await response.Content.ReadAsStringAsync();

                    updateAreaErrorResponse = JsonConvert.DeserializeObject <UpdateAreaErrorResponse>(result);
                    iapproveleave.failer(updateAreaErrorResponse.errors[0].message);
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.HideLoading();
                await App.Current.MainPage.DisplayAlert("HMS", "Something went wrong", "OK");
            }
        }
Esempio n. 6
0
        [Route("api/v1/leave/status/update")] // leave approve and reject
        public HttpResponseMessage GetApproval(LeaveStatusModel leave_status)
        {
            HttpResponseMessage response = null;
            Leave leave = LeaveRepo.GetLeaveById(leave_status.leave_id);

            try
            {
                if (leave_status.is_approved == Constants.LEAVE_STATUS_APPROVED)
                {
                    leave.leave_statusid = Constants.LEAVE_STATUS_APPROVED;
                    LeaveRepo.EditLeave(leave);

                    response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "Leave Approved", "Leave Approved"));
                }
                else if (leave_status.is_approved == Constants.LEAVE_STATUS_REJECTED || leave_status.is_approved == Constants.LEAVE_STATUS_CANCELLED)
                {
                    Leavebalance_sheet leave_balance_instance = LeaveRepo.LeaveBalanceById(leave.employee_id, leave.leavetype_id);
                    string             leave_type_name        = LeaveRepo.GetLeaveTypeById(leave.leavetype_id);

                    #region CL and ML
                    if (leave_type_name == Constants.LEAVE_TYPE_CL || leave_type_name == Constants.LEAVE_TYPE_ML)
                    {
                        leave_balance_instance.no_of_days = leave_balance_instance.no_of_days + leave.no_of_days;
                    }
                    #endregion

                    #region EL
                    else if (leave_type_name == Constants.LEAVE_TYPE_EL)
                    {
                        //if (leave.EL_flag > 0)
                        //{
                        //    int LOP_leave_type_id = LeaveRepo.GetLeavetypeIdByLeavetype(Constants.LEAVE_TYPE_LOP);
                        //    Leavebalance_sheet lop_balance_instance = LeaveRepo.LeaveBalanceById(leave.employee_id, LOP_leave_type_id);
                        //    leave_balance_instance.no_of_days = (decimal)leave.EL_flag;
                        //    lop_balance_instance.no_of_days =(decimal)(lop_balance_instance.no_of_days - (decimal)(leave.no_of_days - leave.EL_flag));
                        //    LeaveRepo.UpdateLeaveBalanceSheet(lop_balance_instance);
                        //}
                        //else
                        {
                            leave_balance_instance.no_of_days = leave_balance_instance.no_of_days + leave.no_of_days;
                        }
                    }
                    #endregion

                    #region LOP and WFH
                    else if (leave_type_name == Constants.LEAVE_TYPE_LOP || leave_type_name == Constants.LEAVE_TYPE_WFH)
                    {
                        leave_balance_instance.no_of_days = leave_balance_instance.no_of_days - leave.no_of_days;
                    }
                    #endregion

                    LeaveRepo.UpdateLeaveBalanceSheet(leave_balance_instance);

                    if (leave_status.is_approved == Constants.LEAVE_STATUS_CANCELLED)
                    {
                        if ((leave.from_date <= DateTime.Now.Date) || (DateTime.Now.Date >= leave.to_date))
                        {
                            response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_517", "Future leaves can only be cancelled", "Future leaves can only be cancelled"));
                            return(response);
                        }
                        else
                        {
                            leave.leave_statusid = Constants.LEAVE_STATUS_CANCELLED;
                            LeaveRepo.EditLeave(leave);
                            response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "Leave Cancelled", "Leave Cancelled"));
                        }
                    }
                    if (leave_status.is_approved == Constants.LEAVE_STATUS_REJECTED)
                    {
                        leave.leave_statusid = Constants.LEAVE_STATUS_REJECTED;
                        LeaveRepo.EditLeave(leave);
                        response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "Leave Rejected", "Leave Rejected"));
                    }
                }
                ReportingTo reporting_to = EmployeeRepo.GetReportingtoByEmpId(leave.employee_id);
                Employee    employee     = EmployeeRepo.GetEmployeeById(leave.employee_id);
                MailHandler.LeaveMailing(leave.from_date, leave.to_date, employee.first_name, leave.leave_statusid, employee.email, reporting_to.mailid, leave_status.remarks, reporting_to.emp_name);
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception.Message);
                Debug.WriteLine(exception.GetBaseException());
                response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_101", "Application Error", exception.Message));
            }
            return(response);
        }