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);
        }
Exemplo n.º 3
0
        /// <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());
        }