public ActionResult GetValueFromEditForm() { string leaveRequestID = Request.QueryString["name"].ToString(); int LeaveRequestID = Convert.ToInt32(leaveRequestID); string EmloyeeID = Session["EmpID"].ToString(); int EmpID = Int32.Parse(EmloyeeID); string ComboValue = Request.Form["HComboValue"]; string StartDate = Request.Form["HStartDate"]; string EndDate = Request.Form["HEndDate"]; string DateDiff = Request.Form["HDateDiff"]; string Handover = Request.Form["HHandover"]; string Mobile = Request.Form["mobile"]; string reason = Request.Form["reason"]; string isCompassionate = Request.Form["HIscompassionate"]; string isHalfDay = Request.Form["HIsHalfDay"]; Boolean checkForHalfDay = false; Boolean checkForCompassionate = false; int handover = 0; if (isHalfDay == "full day" || isHalfDay == "first half day" || isHalfDay == "second half day") { checkForHalfDay = true; } if (isCompassionate == "compassionate") { checkForCompassionate = true; } //ReplaceEmpID if (Handover != null) { handover = Convert.ToInt32(Handover); } LeaveApply lea = new LeaveApply(); int LeaveID = Convert.ToInt32(ComboValue); DateTime startDate = DateTime.Parse(StartDate); DateTime endDate = DateTime.Parse(EndDate); int dateDiff = Convert.ToInt32(DateDiff); //Don't insert/ It is needed to update. Use LeaveRequestedID to update table lea.InsertLeaveRequest(EmpID, reason, startDate, endDate, dateDiff, checkForHalfDay, checkForCompassionate, handover); lea.InsertLeaveRequestToUsedLeave(EmpID, LeaveID, startDate, endDate, dateDiff); Response.Redirect("/LeaveApply/ApplicationForm"); return(View()); }
public async Task <int> AddLeave(LeaveApplyModel LeaveApplyModel) { var leaveApply = new LeaveApply() { LeaveType = LeaveApplyModel.LeaveType, Startdate = LeaveApplyModel.Startdate, EndDate = LeaveApplyModel.EndDate, Reason = LeaveApplyModel.Reason, EmpId = LeaveApplyModel.EmpId, AppliedDate = DateTime.Now, NoOfDays = LeaveApplyModel.NoOfDays, Status = "Waiting for Recommendation", Visible = "Show", PdfURL = LeaveApplyModel.PdfURL }; await _context.LeaveApply.AddAsync(leaveApply); await _context.SaveChangesAsync(); return(leaveApply.LeaveApplyId); }
/// <summary> /// Creates a new Leave request and adds to the table 'LeaveRequest' /// </summary> /// <param name="leaveRequest"></param> public string ApplyLeaveRequest(LeaveRequestAC leaveRequest) { LeaveRequest leave = new LeaveRequest() { Id = leaveRequest.Id, StartDate = leaveRequest.StartDate, EndDate = leaveRequest.EndDate, Unit = leaveRequest.Unit, Reason = leaveRequest.Reason, Type = leaveRequest.Type, HolidayName = leaveRequest.HolidayName, CompensationDate = leaveRequest.CompensationDate, CompensationStatus = leaveRequest.CompensationStatus, ContactName = leaveRequest.ContactName, ContactNumber = leaveRequest.EmergencyContact, PointOfContact = leaveRequest.PointOfContact, DoctorName = leaveRequest.DoctorName, Number = leaveRequest.DoctorContactNumber, Certificate = leaveRequest.DoctorCertificate, HolidayTypeId = leaveRequest.HolidayTypeId, EmployeeId = leaveRequest.EmployeeId, CreatedOn = DateTime.Now, Condition = Condition.Pending }; LeaveStatus leaveStatus = new LeaveStatus(); _leaveRequestDataRepository.Insert(leave); _leaveRequestDataRepository.Save(); List <string> teamLeader = new List <string>(); //if (_employeeRepository.FirstOrDefault(x => x.Id == leave.EmployeeId).Designation == Designation.User) //{ var list = _teamDataRepository.Fetch(x => x.EmployeeId == leaveRequest.EmployeeId); if (list.Count() == 0) { leaveStatus.TeamLeaderId = _employeeRepository.FirstOrDefault(x => x.Email == "*****@*****.**").Id; leaveStatus.Condition = Condition.Pending; leaveStatus.CreatedOn = DateTime.Now; leaveStatus.EmployeeId = leaveRequest.EmployeeId; leaveStatus.LeaveRequestId = leave.Id; _leaveStatusDataRepository.Insert(leaveStatus); leaveRequest.EmployeeName = _employeeRepository.GetById(leaveRequest.EmployeeId).Name; leaveRequest.Designation = _employeeRepository.GetById(leaveRequest.EmployeeId).Designation; leaveRequest.CreatedOn = leaveStatus.CreatedOn; } else { foreach (var item in list) { if (_projectRepository.GetById(item.ProjectId).IsProjectArchived == false) { teamLeader.Add(_employeeRepository.GetById(item.TeamLeaderId).Email); leaveStatus.Condition = LMS.DomainModel.Models.Condition.Pending; leaveStatus.CreatedOn = DateTime.Now; leaveStatus.EmployeeId = leaveRequest.EmployeeId; leaveStatus.LeaveRequestId = leave.Id; var employee = _employeeRepository.GetById(leaveRequest.EmployeeId); leaveStatus.TeamLeaderId = item.TeamLeaderId; leaveRequest.EmployeeName = employee.Name; leaveRequest.Designation = employee.Designation; leaveRequest.CreatedOn = leaveStatus.CreatedOn; _leaveStatusDataRepository.Insert(leaveStatus); } } } teamLeader.Add("*****@*****.**"); leaveRequest.TeamLeader = teamLeader; //else //{ // var admin = _employeeRepository.FirstOrDefault(x => x.Email == "*****@*****.**"); // leaveStatus.Condition = Condition.Pending; // leaveStatus.CreatedOn = DateTime.Now; // leaveStatus.EmployeeId = leaveRequest.EmployeeId; // leaveStatus.LeaveRequestId = leave.Id; // leaveStatus.TeamLeaderId = admin.Id; // _leaveStatusDataRepository.Insert(leaveStatus); //} _leaveStatusDataRepository.Save(); _leaveRequestDataRepository.Save(); LeaveApply test = new LeaveApply(); test.Session = new Dictionary <string, object> { { "Name", leaveRequest.EmployeeName }, { "Designation", leaveRequest.Designation.ToString() }, { "SiteUrl", leaveRequest.EmployeeName }, { "SiteLogo", leaveRequest.Designation.ToString() }, { "ContactNumber", leaveRequest.EmergencyContact }, { "Type", leaveRequest.Type.ToString() }, { "Unit", leaveRequest.Unit.ToString() }, { "StartDate", leaveRequest.StartDate.ToString("dd,MM,yyyy") }, { "EndDate", leaveRequest.EndDate.Value.ToString("dd,MM,yyyy") }, { "CreatedOn", leaveRequest.CreatedOn.Value.ToString("dd,MM,yyyy") }, }; test.Initialize(); var body = test.TransformText(); return(body); }
public ActionResult GetValueFromLeaveApplicationForm() { string EmloyeeID = Session["EmpID"].ToString(); int EmpID = Int32.Parse(EmloyeeID); string ComboValue = Request.Form["HComboValue"]; string StartDate = Request.Form["HStartDate"]; string EndDate = Request.Form["HEndDate"]; string DateDiff = Request.Form["HDateDiff"]; string Handover = Request.Form["HHandover"]; string Mobile = Request.Form["mobile"]; string reason = Request.Form["reason"]; string isCompassionate = Request.Form["HIscompassionate"]; string isHalfDay = Request.Form["HIsHalfDay"]; string[] separater = { "," }; string[] comboValue = ComboValue.Split(separater, StringSplitOptions.RemoveEmptyEntries); string[] startDate = StartDate.Split(separater, StringSplitOptions.RemoveEmptyEntries); string[] endDate = EndDate.Split(separater, StringSplitOptions.RemoveEmptyEntries); string[] dateDiff = DateDiff.Split(separater, StringSplitOptions.RemoveEmptyEntries); Boolean checkForHalfDay = false; Boolean checkForCompassionate = false; int handover = 0; if (isHalfDay == "full day" || isHalfDay == "first half day" || isHalfDay == "second half day") { checkForHalfDay = true; } if (isCompassionate == "compassionate") { checkForCompassionate = true; } //ReplaceEmpID if (Handover != null) { handover = Convert.ToInt32(Handover); } int i = 0; foreach (var word in comboValue) { string LeaveName = comboValue[i]; string SDate = startDate[i]; DateTime sDate = DateTime.Parse(SDate); string EDate = endDate[i]; DateTime eDate = DateTime.Parse(EDate); LeaveApply lea = new LeaveApply(); int LeaveID = lea.getLeaveID(LeaveName); double diff2 = (eDate - sDate).TotalDays; int Diff = Convert.ToInt32(diff2); Diff = Diff + 1; decimal diff = Convert.ToDecimal(Diff); lea.InsertLeaveRequest(EmpID, reason, sDate, eDate, Diff, checkForHalfDay, checkForCompassionate, handover); lea.InsertLeaveRequestToUsedLeave(EmpID, LeaveID, sDate, eDate, diff); i = i + 1; } Response.Redirect("/LeaveApply/ApplicationForm"); return(View()); }