예제 #1
0
        public ActionResult Index()
        {
            userId = Convert.ToInt32(System.Web.HttpContext.Current.User.Identity.Name.Split('|')[1]);
            var userDetails = _IUserService.GetById(userId);

            ViewBag.IsSubmitted = userDetails == null ? false : userDetails.IsSubmitted.HasValue && userDetails.IsSubmitted.Value;
            var employmentCount = _IEmploymentCountService.GetEmploymentCountByUserId(userId);

            var employmentList = EmploymentDetailList(userId);
            EmployementModel employementModel = new EmployementModel();

            employementModel.IsCurrentEmployment = false;
            if (TempData["EmployementModel"] != null)
            {
                employementModel = (EmployementModel)TempData["EmployementModel"];
            }
            else if (employmentList.Any(x => x.IsCurrentEmployment == true))
            {
                employementModel.IsCurrentEmployment = false;
            }

            employementModel.NoOfEmployementAdded  = employmentList.Count;
            employementModel.CurrencyList          = GetCurrencies();
            employementModel.IsFresher             = _IEmployementService.IsFresher(userId);
            employementModel.EmploymnetDetailsList = EmploymnetListPagedList(employmentList.OrderByDescending(p => p.ToDate).ToList()).ToList();
            return(View(employementModel));
        }
예제 #2
0
        public ActionResult GetEmploymnetDetailsGrid(int userId = 0)
        {
            var userDetails = _IUserService.GetById(userId);

            ViewBag.IsSubmitted = userDetails == null ? false : userDetails.IsSubmitted.HasValue && userDetails.IsSubmitted.Value;
            var employmentCount = _IEmploymentCountService.GetEmploymentCountByUserId(userId);
            var employmentList  = EmploymentDetailList(userId);
            EmployementModel employementModel = new EmployementModel();

            employementModel.NoOfEmployementAdded  = employmentList.Count;
            employementModel.CurrencyList          = GetCurrencies();
            employementModel.IsFresher             = _IEmployementService.IsFresher(userId);
            employementModel.EmploymnetDetailsList = EmploymnetListPagedList(employmentList.OrderByDescending(p => p.ToDate).ToList()).ToList();
            return(View("_GetEmploymentList", employementModel));
        }
예제 #3
0
        public ActionResult Index(EmployementModel employementModel)
        {
            bool   status   = false;
            string userName = null;

            try
            {
                ModelState.Remove("ReasonForLeave");
                if (ModelState.IsValid)
                {
                    employementModel.UserId = Convert.ToInt32(System.Web.HttpContext.Current.User.Identity.Name.Split('|')[1]);
                    userName = System.Web.HttpContext.Current.User.Identity.Name.Split('|')[0];

                    var employmentList = EmploymentDetailList(Convert.ToInt32(System.Web.HttpContext.Current.User.Identity.Name.Split('|')[1]));

                    var numberOfEmployment = _IEmploymentCountService.GetEmploymentCountByUserId((int)employementModel.UserId);

                    #region commented Validation for Employee count
                    //==================As Per Comment of EnBoard_ Comments 01-11-2017.docx=====================

                    /*
                     * if (numberOfEmployment != null)
                     * {
                     *  if (numberOfEmployment.NumberOfEmployments == null || employmentList.Count >= numberOfEmployment.NumberOfEmployments)
                     *  {
                     *      TempData["EmployementModel"] = employementModel;
                     *      TempData["Message"] = new ErrorMessageModel()
                     *      {
                     *          MessageType = "error",
                     *          Message = "You cannot add employments more than you specified in Number Of Employments!"
                     *      };
                     *      return RedirectToAction("Index");
                     *  }
                     * }
                     * else
                     * {
                     *  TempData["EmployementModel"] = employementModel;
                     *  TempData["Message"] = new ErrorMessageModel()
                     *  {
                     *      MessageType = "error",
                     *      Message = "Please add Number Of Employemnts!"
                     *  };
                     *  return RedirectToAction("Index");
                     * }
                     */
                    //==================End As Per Comment of EnBoard_ Comments 01-11-2017.docx=====================
                    #endregion


                    if (employmentList.Count != 0 && employmentList.Any(x => x.IsCurrentEmployment == true) && employementModel.IsCurrentEmployment == true)
                    {
                        TempData["EmployementModel"] = employementModel;
                        TempData["Message"]          = new ErrorMessageModel()
                        {
                            MessageType = "error",
                            Message     = "Current employment is already added."
                        };
                        return(RedirectToAction("Index"));
                    }

                    #region Employee Can join same company more than one time

                    /*
                     * if (employmentList.Any(x => x.CompanyName == employementModel.CompanyName))
                     * {
                     *  TempData["EmployementModel"] = employementModel;
                     *  TempData["Message"] = new ErrorMessageModel()
                     *  {
                     *      MessageType = "error",
                     *      Message = "This employment is already exist."
                     *  };
                     *  return RedirectToAction("Index");
                     *
                     * }
                     */
                    #endregion Employee Can join same company more than one time
                    if (employementModel.FromDate.HasValue && employementModel.ToDate.HasValue)
                    {
                        if (employementModel.FromDate.Value >= employementModel.ToDate.Value)
                        {
                            TempData["EmployementModel"] = employementModel;
                            TempData["Message"]          = new ErrorMessageModel()
                            {
                                MessageType = "error",
                                Message     = "Relieving date cannot be less than or equal to date of joining."
                            };
                            return(RedirectToAction("Index"));
                        }
                    }

                    if (employmentList != null)
                    {
                        var overlappedRecord = employmentList.Where(u => Convert.ToDateTime(u.FromDate) <= Convert.ToDateTime(employementModel.ToDate) && Convert.ToDateTime(employementModel.FromDate) <= Convert.ToDateTime(u.ToDate) && u.IsActive == true).ToList();

                        if (overlappedRecord.Count > 0)
                        {
                            TempData["EmployementModel"] = employementModel;
                            TempData["Message"]          = new ErrorMessageModel()
                            {
                                MessageType = "error",
                                Message     = "Employment duration should not fall between previous or current employment duration."
                            };
                            return(RedirectToAction("Index"));
                        }
                    }

                    employementModel.UpdatedBy   = userName;
                    employementModel.UpdatedDate = DateTime.UtcNow;

                    Mapper.CreateMap <EmployementModel, Data.EmploymentDetail>();
                    var EmployDetail = Mapper.Map <EmployementModel, Data.EmploymentDetail>(employementModel);


                    if (EmployDetail.CreatedBy == null || EmployDetail.CreatedBy == "")
                    {
                        EmployDetail.CreatedBy = userName;
                    }
                    if (EmployDetail.CreatedDate == DateTime.MinValue || EmployDetail.CreatedDate == null)
                    {
                        EmployDetail.CreatedDate = DateTime.UtcNow;
                    }

                    if (EmployDetail.UpdatedBy == null || EmployDetail.UpdatedBy == "")
                    {
                        EmployDetail.UpdatedBy = userName;
                    }
                    if (EmployDetail.UpdatedDate == DateTime.MinValue || EmployDetail.UpdatedDate == null)
                    {
                        EmployDetail.UpdatedDate = DateTime.UtcNow;
                    }

                    EmployDetail.EmployementNo = _IEmployementService.GetLatestEmploymentNo(Convert.ToInt32(employementModel.UserId));
                    EmployDetail.IsActive      = true;

                    EmployDetail.CompanyCountryID = _ICountryService.GetAll(null, null, "").Where(i => i.Country == "Other").Select(x => x.CountryID).FirstOrDefault();
                    EmployDetail.CompanyStateID   = _IStateService.GetAll(null, null, "").Where(i => i.State == "Other").Select(x => x.StateID).FirstOrDefault();
                    EmployDetail.CompanyCityID    = _ICityService.GetAll(null, null, "").Where(i => i.City == "Other").Select(x => x.CityID).FirstOrDefault();

                    if (employementModel.IsCurrentEmployment == false)
                    {
                        EmployDetail.ReasonForLeave = employementModel.ReasonForLeave;
                    }

                    status = _IEmployementService.Insert(EmployDetail, null, "");

                    if (status != true)
                    {
                        TempData["Message"] = new ErrorMessageModel()
                        {
                            MessageType = "success",
                            Message     = "Employement details added successfully for" + employementModel.CompanyName + "!!"
                        };
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    TempData["EmployementModel"] = employementModel;
                    TempData["Message"]          = new ErrorMessageModel()
                    {
                        MessageType = "error",
                        Message     = "Please fill mandetory details for " + employementModel.CompanyName
                    };
                }
            }
            catch (Exception ex)
            {
                TempData["EmployementModel"] = employementModel;
                TempData["Message"]          = new ErrorMessageModel()
                {
                    MessageType = "error",
                    Message     = "Something went wrong for" + employementModel.CompanyName
                };
            }
            return(RedirectToAction("Index"));
        }
예제 #4
0
        public ActionResult EditSave(EmployementModel employementModel)
        {
            bool   status   = false;
            string userName = null;

            try
            {
                ModelState.Remove("ReasonForLeave");
                if (ModelState.IsValid)
                {
                    employementModel.UserId = Convert.ToInt32(System.Web.HttpContext.Current.User.Identity.Name.Split('|')[1]);
                    userName = System.Web.HttpContext.Current.User.Identity.Name.Split('|')[0];

                    var employmentList = EmploymentDetailList(Convert.ToInt32(System.Web.HttpContext.Current.User.Identity.Name.Split('|')[1]));

                    employementModel.UpdatedBy   = userName;
                    employementModel.UpdatedDate = DateTime.UtcNow;

                    Mapper.CreateMap <EmployementModel, Data.EmploymentDetail>();
                    var EmployDetail = Mapper.Map <EmployementModel, Data.EmploymentDetail>(employementModel);

                    if (employementModel.FromDate.HasValue && employementModel.ToDate.HasValue)
                    {
                        if (employementModel.FromDate.Value >= employementModel.ToDate.Value)
                        {
                            TempData["Message"] = new ErrorMessageModel()
                            {
                                MessageType = "error",
                                Message     = "Relieving date cannot be less than or equal to date of joining."
                            };
                            return(RedirectToAction("Index"));
                        }
                    }
                    if (employmentList.Where(y => y.EmploymentDetID != employementModel.EmploymentDetID).Any(x => (x.FromDate <= employementModel.FromDate && x.ToDate >= employementModel.FromDate) || (x.FromDate <= employementModel.ToDate && x.ToDate >= employementModel.ToDate)))
                    {
                        TempData["Message"] = new ErrorMessageModel()
                        {
                            MessageType = "error",
                            Message     = "Employment duration should not fall between previous or current employment duration."
                        };
                        return(RedirectToAction("Index"));
                    }

                    if (EmployDetail.UpdatedBy == null || EmployDetail.UpdatedBy == "")
                    {
                        EmployDetail.UpdatedBy = userName;
                    }
                    if (EmployDetail.UpdatedDate == DateTime.MinValue || EmployDetail.UpdatedDate == null)
                    {
                        EmployDetail.UpdatedDate = DateTime.UtcNow;
                    }

                    EmployDetail.IsActive         = true;
                    EmployDetail.CompanyCountryID = _ICountryService.GetAll(null, null, "").Where(i => i.Country == "Other").Select(x => x.CountryID).FirstOrDefault();
                    EmployDetail.CompanyStateID   = _IStateService.GetAll(null, null, "").Where(i => i.State == "Other").Select(x => x.StateID).FirstOrDefault();
                    EmployDetail.CompanyCityID    = _ICityService.GetAll(null, null, "").Where(i => i.City == "Other").Select(x => x.CityID).FirstOrDefault();

                    if (employementModel.IsCurrentEmployment == false)
                    {
                        EmployDetail.ReasonForLeave = employementModel.ReasonForLeave;
                    }

                    status = _IEmployementService.Update(EmployDetail, null, "");
                    TempData["Message"] = new ErrorMessageModel()
                    {
                        MessageType = "success",
                        Message     = "Employment details updated successfully for " + employementModel.CompanyName + "!!"
                    };

                    if (status != true)
                    {
                        TempData["Message"] = new ErrorMessageModel()
                        {
                            MessageType = "error",
                            Message     = "Something went wrong for" + employementModel.CompanyName
                        };
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (Exception ex)
            {
                TempData["Message"] = new ErrorMessageModel()
                {
                    MessageType = "error",
                    Message     = "Something went wrong for" + employementModel.CompanyName
                };
            }
            return(RedirectToAction("Index"));
        }