示例#1
0
        public ActionResult AddTravelForm()
        {
            ViewBag.action = "SubmitData";
            if (TempData["TravelResult"] != null)
            {
                ViewBag.Message = TempData["TravelResult"].ToString();
            }
            TravelDetailViewModel traveldetailVm = new TravelDetailViewModel();

            traveldetailVm.UserID           = CurrentUserDetail().ID;
            traveldetailVm.traveldetail     = new TravelDetailModel();
            traveldetailVm.TravelFromCity   = Enumerable.Empty <TravelCityModel>();
            traveldetailVm.TravelToCity     = Enumerable.Empty <TravelCityModel>();
            traveldetailVm.TravelReturnCity = Enumerable.Empty <TravelCityModel>();
            UserModel User = objManageUser.GetUserById(CurrentUserDetail().ID);

            if (User.FirstName != null && traveldetailVm.traveldetail.Id == 0)
            {
                traveldetailVm.traveldetail.Summary_TravelerName = User.FirstName + " " + User.LastName;
            }
            IEnumerable <TravelStateModel> States = objmanageCommon.GetAllStates();

            ViewBag.StateList = States;
            return(View(traveldetailVm));
        }
示例#2
0
        public ActionResult TimeLine(int TravelID)
        {
            TravelDetailViewModel objDetailVM = new TravelDetailViewModel();

            objDetailVM.traveldetail = new TravelDetailModel();

            TravelDetailModel TravelData = objmanageTravel.GetTravelDetail(TravelID);

            return(PartialView("_TimeLine", TravelData));
        }
        public void UpdateTravelDetail(TravelDetailViewModel objTravelDetailVM)
        {
            _travelRepository.UpdateTravelDetail(objTravelDetailVM.traveldetail);

            TravelDetailTrailModel travelDetailTrail = new TravelDetailTrailModel();

            travelDetailTrail.StatusId    = objTravelDetailVM.traveldetail.LastStatus;
            travelDetailTrail.TravelId    = objTravelDetailVM.traveldetail.Id;
            travelDetailTrail.ProcessedBy = objTravelDetailVM.traveldetail.UserID;
            travelDetailTrail.Date        = DateTime.Now;

            _travelRepository.AddTravelDetailTrail(travelDetailTrail);
        }
示例#4
0
        public ActionResult TravelList(TravelDetailViewModel objTravelDetailVM)
        {
            TravelDetailModel TravelData = objmanageTravel.GetTravelDetail(objTravelDetailVM.id);

            if (objTravelDetailVM.laststepid == TravelData.LastStatus)
            {
                var user = CurrentUserDetail();
                objTravelDetailVM.UserID = user.ID;
                objTravelDetailVM.RoleId = user.RoleId;
                objmanageTravel.UpdateTravelDetailForProcCheck(objTravelDetailVM);

                string msgRejectedBy = "";


                if (objTravelDetailVM.RoleId == (int)UserRoleEnum.ProjectManager && objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.RejectedByProjectManager)
                {
                    SendEmailonAction(objTravelDetailVM.id, "Travel Request Rejected", "Your travel request has been rejected by " + EnumHelper <TravelRequestStatusEnum> .GetDisplayValue((TravelRequestStatusEnum.RejectedByProjectManager)).ToString());
                }
                else if (objTravelDetailVM.RoleId == (int)UserRoleEnum.Client1 && objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.RejectedByClient1)
                {
                    msgRejectedBy = EnumHelper <TravelRequestStatusEnum> .GetDisplayValue((TravelRequestStatusEnum.RejectedByClient1)).ToString();

                    SendEmailonAction(objTravelDetailVM.id, "Travel Request Rejected", "Your travel request has been " + EnumHelper <TravelRequestStatusEnum> .GetDisplayValue((TravelRequestStatusEnum.RejectedByClient1)).ToString(), (int)UserRoleEnum.ProjectManager, msgRejectedBy);
                }
                else if (objTravelDetailVM.RoleId == (int)UserRoleEnum.Client2 && objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.RejectedByClient2)
                {
                    msgRejectedBy = EnumHelper <TravelRequestStatusEnum> .GetDisplayValue((TravelRequestStatusEnum.RejectedByClient2)).ToString();

                    SendEmailonAction(objTravelDetailVM.id, "Travel Request Rejected", "Your travel request has been " + msgRejectedBy, (int)UserRoleEnum.ProjectManager, msgRejectedBy);
                }
                else if (objTravelDetailVM.RoleId == (int)UserRoleEnum.Client2 && objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.ApprovedByClient2)
                {
                    SendEmailonAction(objTravelDetailVM.id, "Travel Request Approved", "Your travel request has been " + EnumHelper <TravelRequestStatusEnum> .GetDisplayValue((TravelRequestStatusEnum.ApprovedByClient2)).ToString());
                }
            }
            else
            {
                try
                {
                    TempData.Add("TravelRequest", "Travel request is already proceeding");
                }
                catch
                {
                    TempData["TravelRequest"] = "Travel request is already proceeding";
                }
            }
            return(RedirectToAction("travellist"));
        }
示例#5
0
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TravelDetailViewModel TravelViewModelData = new TravelDetailViewModel()
            {
                Attractions        = AttractionsData.GetDetail(id),
                AttractionsImglist = AttractionsImgData.GetDetail(id)
            };

            if (TravelViewModelData == null)
            {
                return(HttpNotFound());
            }
            return(View(TravelViewModelData));
        }
示例#6
0
        public ActionResult AddTravelForm(TravelDetailViewModel travelDataVm, string start_date, string end_date)
        {
            TravelDetailModel travelData = travelDataVm.traveldetail;

            travelData.UserID = CurrentUserDetail().ID;

            try
            {
                //travelDataVm.traveldetail.Detail_DepartingDate = DateTime.ParseExact(start_date, "MM/dd/yyyy", null);
                //travelDataVm.traveldetail.Detail_ReturningDate = DateTime.ParseExact(end_date, "MM/dd/yyyy", null);
                travelData.Detail_DepartingDate  = DateTimeHandling.SetDateTime(travelData.Detail_DepartingDate);
                travelData.Detail_ReturningDate  = DateTimeHandling.SetDateTime(travelData.Detail_ReturningDate);
                travelData.Summary_SubmittedDate = DateTimeHandling.SetDateTime(DateTime.Now);
                travelData.LastStatus            = Convert.ToInt32(TravelRequestStatusEnum.SubmittedByUser);;
                if (travelData.Id != 0)
                {
                    travelData.LastStatus = Convert.ToInt32(TravelRequestStatusEnum.Resubmitted);
                    //travelDataVm.id= travelData.Id;
                    objmanageTravel.UpdateTravelDetail(travelDataVm);
                }
                else
                {
                    TravelDetailModel traveldata = objmanageTravel.InsertTraveldata(travelData);
                }
                if (travelData != null)
                {
                    try
                    {
                        TempData.Add("TravelResult", "Travel Information Saved successfully");
                    }
                    catch
                    {
                        TempData["TravelResult"] = "Travel Information Saved successfully";
                    }
                    return(RedirectToAction("travellist"));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(RedirectToAction("addtravelform"));
        }
示例#7
0
        public ActionResult showtraveldata()
        {
            string view     = "";
            int    travelid = 0;
            string ViewOnly = "";

            if (TempData["view"] != null)
            {
                view             = TempData["view"].ToString();
                TempData["view"] = view;
            }
            if (TempData["travelid"] != null)
            {
                travelid             = Convert.ToInt32(TempData["travelid"]);
                TempData["travelid"] = travelid;
            }
            if (TempData["ViewOnly"] != null)
            {
                ViewOnly             = TempData["ViewOnly"].ToString();
                TempData["ViewOnly"] = ViewOnly;
            }
            if (view == "view")
            {
                ViewBag.ShowNotify = "view";
            }
            ViewBag.action = "ViewData";
            TravelDetailViewModel traveldetailVm = new TravelDetailViewModel();

            traveldetailVm.traveldetail = objmanageTravel.GetTravelDetail(travelid);
            int roleid = traveldetailVm.traveldetail.TravelUser.TravelUserRoleMappings.Where(x => x.UserID == traveldetailVm.traveldetail.UserID).Select(x => x.RoleID).FirstOrDefault();

            if (roleid == (int)UserRoleEnum.User && (traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByClient1) || traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByClient2) || traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByProjectManager)))
            {
                ViewBag.action = "ResubmitTraveldata";
            }

            if (ViewOnly != "viewonly" && (traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByClient1) || traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByClient2) || traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByProjectManager)))
            {
                ViewBag.action = "ResubmitTraveldata";
            }
            if (traveldetailVm.traveldetail != null)
            {
                traveldetailVm.traveldetail.Cost_CostOfAirFare   = Math.Round(traveldetailVm.traveldetail.Cost_CostOfAirFare.Value, 2);
                traveldetailVm.traveldetail.Cost_Hotel           = Math.Round(traveldetailVm.traveldetail.Cost_Hotel.Value, 2);
                traveldetailVm.traveldetail.Cost_Miscellaneous   = Math.Round(traveldetailVm.traveldetail.Cost_Miscellaneous.Value, 2);
                traveldetailVm.traveldetail.Cost_PerDiemRate     = Math.Round(traveldetailVm.traveldetail.Cost_PerDiemRate.Value, 2);
                traveldetailVm.traveldetail.Cost_RegistrationFee = Math.Round(traveldetailVm.traveldetail.Cost_RegistrationFee.Value, 2);
                traveldetailVm.traveldetail.Cost_RentalCar       = Math.Round(traveldetailVm.traveldetail.Cost_RentalCar.Value, 2);
                traveldetailVm.traveldetail.Cost_TotalPerDiem    = Math.Round(traveldetailVm.traveldetail.Cost_TotalPerDiem.Value, 2);
                traveldetailVm.traveldetail.Cost_TotalExpense    = Math.Round(traveldetailVm.traveldetail.Cost_TotalExpense.Value, 2);
                traveldetailVm.travelstate = objmanageCommon.GetAllStates();
                if (traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByClient1) || traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByClient2) || traveldetailVm.traveldetail.LastStatus == Convert.ToInt32(TravelRequestStatusEnum.RejectedByProjectManager))
                {
                    ViewBag.StateList = traveldetailVm.travelstate;
                }
                traveldetailVm.travelcity       = objmanageCommon.GetCityList();
                traveldetailVm.TravelFromCity   = objmanageCommon.GetallCity(traveldetailVm.traveldetail.Detail_TravelingFromState);
                traveldetailVm.TravelToCity     = objmanageCommon.GetallCity(traveldetailVm.traveldetail.Detail_TravelingToState);
                traveldetailVm.TravelReturnCity = objmanageCommon.GetallCity(traveldetailVm.traveldetail.Detail_ReturningToState);
                IEnumerable <UserModel> allUser     = objManageUser.GetAllUser();
                TravelDetailViewModel   objTravelVM = new TravelDetailViewModel();
                traveldetailVm.lstTraveldetailVM = new List <TravelDetailViewModel>();

                foreach (var item in traveldetailVm.traveldetail.TravelDetailTrails.Where(x => x.StatusId != Convert.ToInt32(TravelRequestStatusEnum.SubmittedByUser)))
                {
                    UserModel user = allUser.FirstOrDefault(x => x.ID == item.ProcessedBy);

                    objTravelVM            = new TravelDetailViewModel();
                    objTravelVM.UserName   = user == null ? "" : user.FirstName + " " + user == null ? "" : user.LastName;
                    objTravelVM.Date       = item.Date;
                    objTravelVM.Comments   = item.Comments;
                    objTravelVM.RoleName   = user == null ? "" : user.TravelUserRoleMappings[0].TravelRole.DisplayName;
                    objTravelVM.LastStatus = Convert.ToInt16(item.StatusId);
                    traveldetailVm.lstTraveldetailVM.Add(objTravelVM);
                }
            }
            return(View("addtravelform", traveldetailVm));
        }
        public void UpdateTravelDetailForProcCheck(TravelDetailViewModel objTravelDetailVM)
        {
            var travelDetail      = new TravelDetailModel();
            var travelDetailTrail = new TravelDetailTrailModel();

            travelDetail = _travelRepository.GetTravelDetail(objTravelDetailVM.id);

            if (objTravelDetailVM.RoleId == (int)UserRoleEnum.ProjectManager)
            {
                if (objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.RejectedByProjectManager)
                {
                    travelDetail.IsProcedural = (int)ProcedureEnum.Default;
                }
                else if (objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.ApprovedByProjectManager)
                {
                    if (objTravelDetailVM.IsProcedural == (int)ProcedureEnum.Procedural)
                    {
                        travelDetailTrail.StepNotes      = (int)StepNotesEnum.TravelDetailAcceptedByPMForProc;
                        travelDetailTrail.NextActionRole = (int)UserRoleEnum.Client1;
                    }
                    else if (objTravelDetailVM.IsProcedural == (int)ProcedureEnum.DirectFinalStep)
                    {
                        travelDetailTrail.StepNotes      = (int)StepNotesEnum.TravelDetailAcceptedByPMForProc;
                        travelDetailTrail.NextActionRole = (int)UserRoleEnum.Client2;
                    }
                }
                travelDetail.IsProcedural = objTravelDetailVM.IsProcedural;
                travelDetail.LastStatus   = objTravelDetailVM.LastStatus;
            }
            else if (objTravelDetailVM.RoleId == (int)UserRoleEnum.Client1)
            {
                if (objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.RejectedByClient1)
                {
                    travelDetailTrail.NextActionRole = null;
                    travelDetailTrail.StepNotes      = (int)StepNotesEnum.RejectedByClient1;
                }
                else if (objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.ApprovedByClient1)
                {
                    travelDetailTrail.NextActionRole = (int)UserRoleEnum.Client2;
                    travelDetailTrail.StepNotes      = (int)StepNotesEnum.ApprovedByClient1;
                }
                travelDetail.LastStatus = objTravelDetailVM.LastStatus;
            }
            else if (objTravelDetailVM.RoleId == (int)UserRoleEnum.Client2)
            {
                if (objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.RejectedByClient2)
                {
                    travelDetailTrail.NextActionRole = null;
                    travelDetailTrail.StepNotes      = (int)StepNotesEnum.RejectedByClient2;
                }
                else if (objTravelDetailVM.LastStatus == (int)TravelRequestStatusEnum.ApprovedByClient2)
                {
                    travelDetailTrail.StepNotes      = (int)StepNotesEnum.ApprovedByClient2;
                    travelDetailTrail.NextActionRole = null;
                }
                travelDetail.LastStatus = objTravelDetailVM.LastStatus;
            }
            _travelRepository.UpdateTravelDetail(travelDetail);


            //travel detail trail logic start
            travelDetailTrail.StatusId    = objTravelDetailVM.LastStatus;
            travelDetailTrail.TravelId    = objTravelDetailVM.id;
            travelDetailTrail.ProcessedBy = objTravelDetailVM.UserID;
            travelDetailTrail.Comments    = objTravelDetailVM.Comments;
            travelDetailTrail.Date        = DateTime.Now;

            _travelRepository.AddTravelDetailTrail(travelDetailTrail);

            //travel detail trail logic end
        }