public static LeaveApplication ConvertRespondentInfoFromDTO(LeaveApplicationDTO leaveApplicationDTO) { Mapper.CreateMap <LeaveApplicationDTO, LeaveApplication>().ConvertUsing( m => { return(new LeaveApplication { LeaveAppliedDate = m.LeaveAppliedDate, LeaveStartDate = m.LeaveStartDate, LeaveApproverEmpCode = m.LeaveApproverEmpCode, LeaveDays = m.LeaveDays, LeaveDaysType = m.LeaveDaysType, LeaveDetails = m.LeaveDetails, LeaveEmpCode = m.LeaveEmpCode, LeaveGUICode = m.LeaveGUICode, LeaveId = m.LeaveId, LeaveStatus = m.LeaveStatus, LeaveEndDate = m.LeaveEndDate, LeaveStatusDate = m.LeaveStatusDate, LeaveSubject = m.LeaveSubject, LeaveTypeId = m.LeaveTypeId, LeaveYearId = m.LeaveYearId, PaidLeave = m.PaidLeave, LeaveDaysPart = m.LeaveDaysPart, RecommededEmpCode = m.RecommededEmpCode, RecommendStatus = m.RecommendStatus, RecommendStatusDate = m.RecommendStatusDate }); }); return(Mapper.Map <LeaveApplicationDTO, LeaveApplication>(leaveApplicationDTO)); }
public LeaveApplicationDTO GetLeaveApplicationsbyId(int id) { LeaveApplication Record = _unitOfWork.LeaveApplicationRepository.Get(x => x.LeaveId == id).FirstOrDefault(); LeaveApplicationDTO ReturnRecord = LeaveApplicationResponseFormatter.LeaveApplicationDbToModel(Record); return(ReturnRecord); }
public void AddSpecialLeaveType(LeaveApplicationDTO newLeave) { newLeave.LeaveDaysType = "F"; newLeave.RecommededEmpCode = newLeave.RecommededEmpCode; newLeave.RecommendStatus = 2; newLeave.LeaveStatus = 2; newLeave.RecommenderMessage = newLeave.LeaveDetails; newLeave.RecommendStatusDate = DateTime.Now; newLeave.LeaveDays = newLeave.LeaveEndDate.Date.Subtract(newLeave.LeaveStartDate.Date).Duration().Days + 1; newLeave.LeaveAppliedDate = DateTime.Now; newLeave.LeaveGUICode = Guid.NewGuid().ToString(); bool payable = Convert.ToBoolean(_unitOfWork.LeaveTypeRepository.Get(x => x.LeaveTypeId == newLeave.LeaveId).Select(x => x.IsPayable).SingleOrDefault()); newLeave.PaidLeave = Convert.ToBoolean(payable); LeaveApplication Record = LeaveApplicationRequestFormatter.ConvertRespondentInfoFromDTO(newLeave); _unitOfWork.LeaveApplicationRepository.Create(Record); //call store proecudre for leave application attendance record SqlConnection conn = DbConnectHelper.GetConnection(); conn.Open(); SqlCommand cmd = new SqlCommand("sp_LeaveBalanceUpdate", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@LeaveId", Record.LeaveId); cmd.Parameters.AddWithValue("@LeaveStatus", Record.LeaveStatus); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); da.Dispose(); cmd.Dispose(); conn.Close(); conn.Dispose(); }
public ActionResult Add(LeaveApplicationDTO Record) { // int curentemp = Convert.ToInt32(Session["Empcode"]); //int roleid = Convert.ToInt32(Session["RoleId"]); int empCode = Convert.ToInt32(Session["EmpCode"]); Record.LeaveStartDate = Convert.ToDateTime(NepEngDate.NepToEng(Record.LeaveStartDateNP)); Record.LeaveEndDate = Convert.ToDateTime(NepEngDate.NepToEng(Record.LeaveEndDateNP)); Record.RecommededEmpCode = Record.RecommededEmpCode; Record.EmployeeCodeSelectlist = _LeaveEarnedService.GetBrancheEmployeeSelectList(empCode); Record.YearSelectList = _SpecialleavetypeService.GetYearSelectList(); Record.LeaveTypeSelectList = _SpecialleavetypeService.GetSpecialLeaveTypeSelectList(); if (Record.LeaveEmpCode == 0 || Record.RecommededEmpCode == 0 || Record.LeaveApproverEmpCode == 0) { ViewBag.Error = "* Fields are required"; return(View("../Leave/LeaveTypeSpecial/Add", Record)); } try { if (ModelState.IsValid) { _SpecialleavetypeService.AddSpecialLeaveType(Record); Session["Success"] = "Successfully Added Special Leave "; return(RedirectToAction("Index", "LeaveTypeSpecial")); } } catch (Exception Exception) { ViewBag.Error = Exception.Message; Session["Error"] = ViewBag.Error = Exception.Message; return(View("../Leave/LeaveTypeSpecial/Add")); } return(View("../Leave/LeaveTypeSpecial/Add")); }
public JsonResult GetEmloyeeRecommederSelectList(int EmpCode) { string recommendType = "Earning"; LeaveApplicationDTO Record = new LeaveApplicationDTO(); Record.ApproverSelectList = _SpecialleavetypeService.GetEmployeeRecommenderSelectList(EmpCode, recommendType); return(Json(Record.ApproverSelectList, JsonRequestBehavior.AllowGet)); }
public ActionResult FilterBox() { LeaveApplicationDTO Record = new LeaveApplicationDTO(); Record.YearSelectList = _SpecialleavetypeService.GetYearSelectList(); Record.EmployeeCodeSelectlist = _LeaveEarnedService.GetBrancheEmployeeSelectList(Convert.ToInt32(ViewBag.Empcode)); return(View("../Leave/LeaveTypeSpecial/FilterBox", Record)); }
public static List <LeaveApplicationDTO> LeaveApplicationDbListToModelList(List <LeaveApplication> modelData) { List <LeaveApplicationDTO> ReturnRecord = new List <LeaveApplicationDTO>(); foreach (var Row in modelData) { LeaveApplicationDTO Record = new LeaveApplicationDTO { LeaveId = Row.LeaveId, LeaveEmpCode = Row.LeaveEmpCode, LeaveYearId = Row.LeaveYearId, LeaveTypeId = Row.LeaveTypeId, RecommededEmpCode = Row.RecommededEmpCode, RecommendStatus = Row.RecommendStatus, RecommenderMessage = Row.RecommenderMessage, RecommendStatusDate = Row.RecommendStatusDate, LeaveApproverEmpCode = Row.LeaveApproverEmpCode, LeaveStatus = Row.LeaveStatus, ApproverMessage = Row.ApproverMessage, LeaveStatusDate = Row.LeaveStatusDate, LeaveStartDate = Row.LeaveStartDate, LeaveEndDate = Row.LeaveEndDate, LeaveDays = Row.LeaveDays, PaidLeave = Row.PaidLeave, LeaveSubject = Row.LeaveSubject, LeaveDetails = Row.LeaveDetails, LeaveAppliedDate = Row.LeaveAppliedDate, LeaveDaysType = Row.LeaveDaysType, LeaveDaysPart = Row.LeaveDaysPart, LeaveGUICode = Row.LeaveGUICode, Employee = new EmployeeDTO { EmpCode = Row.Employee.EmpCode, EmpName = Row.Employee.EmpName }, RecommendateEmployee = new EmployeeDTO { RecommendateEmpCode = Row.Employee2.EmpCode, RecommendateEmpName = Row.Employee2.EmpName }, ApprovalEmployee = new EmployeeDTO { ApprovalEmpCode = Row.Employee1.EmpCode, ApprovalEmpName = Row.Employee1.EmpName }, LeaveType = new LeaveTypeDTO { LeaveTypeId = Row.LeaveType.LeaveTypeId, LeaveTypeName = Row.LeaveType.LeaveTypeName } }; ReturnRecord.Add(Record); } return(ReturnRecord); }
public ActionResult Add() { int roleid = Convert.ToInt32(Session["RoleId"]); int empCode = Convert.ToInt32(Session["EmpCode"]); LeaveApplicationDTO Record = new LeaveApplicationDTO(); Record.EmployeeCodeSelectlist = _LeaveEarnedService.GetBrancheEmployeeSelectList(empCode); Record.YearSelectList = _SpecialleavetypeService.GetYearSelectList(); Record.LeaveTypeSelectList = _SpecialleavetypeService.GetSpecialLeaveTypeSelectList(); Record.ApproverSelectList = new List <SelectListItem>(); return(View("../Leave/LeaveTypeSpecial/Add", Record)); }
public static LeaveApplicationDTO LeaveApplicationDbToModel(LeaveApplication modelData) { LeaveApplicationDTO Record = new LeaveApplicationDTO { LeaveId = modelData.LeaveId, LeaveEmpCode = modelData.LeaveEmpCode, LeaveYearId = modelData.LeaveYearId, LeaveTypeId = modelData.LeaveTypeId, RecommededEmpCode = modelData.RecommededEmpCode, RecommendStatus = modelData.RecommendStatus, RecommenderMessage = modelData.RecommenderMessage, RecommendStatusDate = modelData.RecommendStatusDate, LeaveApproverEmpCode = modelData.LeaveApproverEmpCode, LeaveStatus = modelData.LeaveStatus, ApproverMessage = modelData.ApproverMessage, LeaveStatusDate = modelData.LeaveStatusDate, LeaveStartDate = modelData.LeaveStartDate, LeaveEndDate = modelData.LeaveEndDate, LeaveDays = modelData.LeaveDays, PaidLeave = modelData.PaidLeave, LeaveSubject = modelData.LeaveSubject, LeaveDetails = modelData.LeaveDetails, LeaveAppliedDate = modelData.LeaveAppliedDate, LeaveDaysType = modelData.LeaveDaysType, LeaveDaysPart = modelData.LeaveDaysPart, LeaveGUICode = modelData.LeaveGUICode, LeaveType = new LeaveTypeDTO { LeaveTypeId = modelData.LeaveType.LeaveTypeId, LeaveTypeName = modelData.LeaveType.LeaveTypeName }, Employee = new EmployeeDTO { EmpCode = modelData.Employee.EmpCode, EmpName = modelData.Employee.EmpName }, RecommendateEmployee = new EmployeeDTO { RecommendateEmpCode = modelData.Employee1.EmpCode, RecommendateEmpName = modelData.Employee1.EmpName }, ApprovalEmployee = new EmployeeDTO { ApprovalEmpCode = modelData.Employee2.EmpCode, ApprovalEmpName = modelData.Employee2.EmpName } }; return(Record); }
protected void Init(LeaveApplicationDTO leaveApplication, LeaveStatus leaveStatus) { _leaveApplication = leaveApplication; _nextStatus = leaveStatus; }
public static LeaveApplication ConvertRespondentInfoFromDTO(LeaveApplicationDTO modelData) { Mapper.CreateMap <LeaveApplicationDTO, LeaveApplication>(); return(Mapper.Map <LeaveApplicationDTO, LeaveApplication>(modelData)); }
public ActionResult ApplyLeave(LeaveApplicationDTO leave) { int empCode = leave.LeaveEmpCode; int curentemp = Convert.ToInt32(Session["Empcode"]); int roleid = Convert.ToInt32(Session["RoleId"]); leave.LeaveDaysType = "F"; leave.RecommededEmpCode = Convert.ToInt32(Session["Empcode"]); leave.RecommendStatus = 2; leave.RecommenderMessage = leave.LeaveDetails; leave.RecommendStatusDate = DateTime.Now; double leavedays = _leaveServices.LeaveDayCalculations(leave.LeaveTypeId, leave.LeaveStartDate, leave.LeaveEndDate); LeaveApplicationAddViewModel lavm = new LeaveApplicationAddViewModel(); LeaveYearDTO year = _leaveServices.GetActiveYear(); lavm.Employees = _employeeServices.GetEmployeeList(roleid).Where(x => x.EmpCode != curentemp); lavm.SerializedActiveYearData = JsonConvert.SerializeObject(_leaveServices.GetActiveYear()); if (!ModelState.IsValid) { return(View(lavm)); } List <LeaveStatViewModel> StatList = _leaveServices.GetLeaveStatus(empCode, year.YearId).ToList(); LeaveStatViewModel targetData = StatList.Find(x => x.LeaveTypeId == leave.LeaveTypeId); LeaveYearDTO currentYear = _leaveServices.GetActiveYear(); if (leave.IsHalfDayLeave == true) { leave.LeaveEndDate = leave.LeaveStartDate; } DateTime startDate = Convert.ToDateTime(leave.LeaveStartDate); DateTime endDate = Convert.ToDateTime(leave.LeaveEndDate); if (startDate > currentYear.YearStartDate && startDate < currentYear.YearEndDate && endDate > currentYear.YearStartDate && endDate < currentYear.YearEndDate) { #region ApplyBeforeZeroDays if (targetData.LeaveApplyBeforeDays == 0) { if (startDate > endDate) { ModelState.AddModelError("StartDateGreaterError", "The start Date is greater than the End Date."); return(View(lavm)); } leave.LeaveEmpCode = empCode; leave.LeaveYearId = currentYear.YearId; leave.LeaveStatus = 1; leave.LeaveStatusDate = DateTime.Now; if (leave.IsHalfDayLeave == true) { leave.LeaveDays = 0.5M; } else { leave.LeaveDays = leave.LeaveEndDate.Date.Subtract(leave.LeaveStartDate.Date).Duration().Days + 1; } leave.LeaveAppliedDate = DateTime.Now; leave.LeaveGUICode = Guid.NewGuid().ToString(); leave.PaidLeave = targetData.IsPayable; if (leave.IsHalfDayLeave) { leave.LeaveDaysType = "H"; if (leave.LeaveDaysPart == null) { ModelState.AddModelError("LeaveDaysPartError", "Leave Day Part is not selected."); return(View(lavm)); } if ((leave.LeaveEndDate.Date.Subtract(leave.LeaveStartDate.Date).Duration().Days + 1) / 2 > targetData.TotalRemainingDays) { ModelState.AddModelError("LeaveBalanceError", "You do not have enough leave balance for this leave type."); return(View(lavm)); } } else { if ((leave.LeaveEndDate.Date.Subtract(leave.LeaveStartDate.Date).Duration().Days + 1) > targetData.TotalRemainingDays) { ModelState.AddModelError("LeaveBalanceError", "You do not have enough leave balance for this leave type."); return(View(lavm)); } } LeaveApplicationDTO reLeaveApplication1 = _leaveServices.InsertLeaveApplication(leave); string leaveName1 = targetData.LeaveTypeName; Session["Success"] = "Your leave application of leave type \"" + leaveName1 + "\" has been inserted."; ModelState.Clear(); return(RedirectToAction("Index")); } #endregion #region HAlfDayLeaveCondition else if (leave.IsHalfDayLeave == true) { leave.LeaveEmpCode = empCode; leave.LeaveYearId = currentYear.YearId; leave.RecommendStatus = 1; leave.RecommendStatusDate = DateTime.Now; leave.LeaveStatus = 1; leave.LeaveStatusDate = DateTime.Now; leave.LeaveAppliedDate = DateTime.Now; leave.LeaveGUICode = Guid.NewGuid().ToString(); leave.PaidLeave = targetData.IsPayable; leave.LeaveDays = 0.5M; leave.LeaveDaysType = "H"; if (targetData.TotalRemainingDays == 0) { ModelState.AddModelError("LeaveBalanceError", "You do not have enough leave balance for this leave type."); return(View(lavm)); } if (leave.LeaveDaysPart == null) { ModelState.AddModelError("LeaveDaysPartError", "Leave Day Part is not selected."); return(View(lavm)); } LeaveApplicationDTO reLeaveApplication1 = _leaveServices.InsertLeaveApplication(leave); string leaveName1 = targetData.LeaveTypeName; Session["Success"] = "Your leave application of leave type \"" + leaveName1 + "\" has been inserted."; ModelState.Clear(); return(RedirectToAction("Index")); } #endregion else if (startDate > endDate) { ModelState.AddModelError("StartDateGreaterError", "The start Date is greater than the End Date."); return(View(lavm)); } else { #region NormalLeaveCondition leave.LeaveEmpCode = empCode; leave.LeaveYearId = currentYear.YearId; leave.RecommendStatus = 2; leave.RecommendStatusDate = DateTime.Now; leave.LeaveStatus = 1; leave.LeaveStatusDate = DateTime.Now; leave.LeaveDays = leave.LeaveEndDate.Date.Subtract(leave.LeaveStartDate.Date).Duration().Days + 1; leave.LeaveAppliedDate = DateTime.Now; leave.LeaveGUICode = Guid.NewGuid().ToString(); leave.PaidLeave = targetData.IsPayable; if ((leave.LeaveEndDate.Date.Subtract(leave.LeaveStartDate.Date).Duration().Days + 1) > targetData.TotalRemainingDays) { ModelState.AddModelError("LeaveBalanceError", "You do not have enough leave balance for this leave type."); return(View(lavm)); } LeaveApplicationDTO reLeaveApplication = _leaveServices.InsertLeaveApplication(leave); string leaveName = targetData.LeaveTypeName; Session["Success"] = "Your leave application of leave type \"" + leaveName + "\" has been inserted."; ModelState.Clear(); return(RedirectToAction("Index")); #endregion } } else { ModelState.AddModelError("DateRangeError", "The Leave start date or end date you stated does not lie in the current year."); return(View(lavm)); } }