Example #1
0
        private void GetStandardRemarks(NewCaseVM newCaseVM)
        {
            List <StandardRemarkVM> standardRemarksVM = new List <StandardRemarkVM>();
            var standardRemark = callIncident.GetStandardRemarks();

            if (newCaseVM.IsEditMode)
            {
                standardRemark.ForEach(x => standardRemarksVM.Add(new StandardRemarkVM
                {
                    RemarkId              = x.RemarkId.ToString(),
                    RemarkName            = x.RemarkName,
                    IsDestinationRequired = x.IsDestinationRequired
                }));
            }
            else
            {
                standardRemark.ForEach(x => standardRemarksVM.Add(new StandardRemarkVM
                {
                    RemarkId              = x.RemarkId.ToString() + "-" + x.IsDestinationRequired,
                    RemarkName            = x.RemarkName,
                    IsDestinationRequired = x.IsDestinationRequired
                }));
            }
            newCaseVM.StandardRemarks = new SelectList(standardRemarksVM, "RemarkId", "RemarkName");
        }
Example #2
0
        public ActionResult EditCaseIncident(string callId)
        {
            NewCaseVM editingCase = new NewCaseVM();

            editingCase.IsEditMode = true;
            var agentId = "Pranay";

            GetCallTypes(editingCase);
            GetChiefComplaints(editingCase);
            GetStandardRemarks(editingCase);
            var caseDetails = callIncident.GetCaseDetails(callId, agentId);

            editingCase.CallId           = Convert.ToInt64(caseDetails.CallId);
            editingCase.CallTime         = caseDetails.CallTime.ToString();
            editingCase.VehicleNumber    = caseDetails.VehicleDetails.VehicleNumber;
            editingCase.SelectedCallType = caseDetails.CallType;
            editingCase.SelectedRemark   = caseDetails.StandardRemark;
            editingCase.CaseDetails      = caseDetails;
            editingCase.VehicleId        = caseDetails.VehicleDetails.VehicleId;
            editingCase.VehicleLocation  = caseDetails.VehicleDetails.State;
            editingCase.VehicleNumber    = caseDetails.VehicleDetails.VehicleNumber;
            editingCase.ValidationValues = new Validation
            {
                BaseReachOdoInstituteDepartureDiff       = 100,
                InstituteDepartureTimeInstituteReachDiff = 120,
                InstituteReachOdoSceneReachOdoDiff       = 100,
                InstituteReachTimeSceneDepartureDiff     = 120,
                SceneDepartureTimeSceneReachDiff         = 120,
                SceneReachOdoStartOdoDiff = 100,
                StartTimeSceneReachDiff   = 120
            };

            return(View("CreateNewCase", editingCase));
        }
        //public ActionResult NewCase()
        //{
        //    unitOfWork = (GenericUnitOfWork)Session["UNITOFWORK"];
        //    GenericRepository<Priority> priority_caseRepository = unitOfWork.GetRepoInstance<Priority>();
        //    //GenericRepository<Status> status_caseRepository = unitOfWork.GetRepoInstance<Status>();
        //    GenericRepository<Category> category_caseRepository = unitOfWork.GetRepoInstance<Category>();

        //    List<Priority> priorities = priority_caseRepository.GetAll().ToList();
        //    List<Category> categories = category_caseRepository.GetAll().ToList();

        //    ViewBag.Priorities = priorities;
        //    ViewBag.Categories = categories;

        //    NewCaseVM newcasevm = new NewCaseVM();
        //    newcasevm.Case = new Case();
        //    newcasevm.CaseID = newcasevm.Case.CaseID;
        //    return View(newcasevm);
        //}



        //Submit New Case
        public ActionResult SendCase(NewCaseVM newCase)
        {
            long userId;

            if (Session["USER"] != null)
            {
                userId = ((User)Session["USER"]).UserID;
            }
            else
            {
                userId = 1;
            }
            unitOfWork = (GenericUnitOfWork)Session["UNITOFWORK"];
            GenericRepository <Case>     caserepo = unitOfWork.GetRepoInstance <Case>();
            GenericRepository <DAL.File> filerepo = unitOfWork.GetRepoInstance <DAL.File>();

            Case startupCase = new Case();

            startupCase = newCase.Case;
            startupCase.SubmissionDate = DateTime.Now;
            startupCase.StatusID       = 4;
            startupCase.StartupID      = userId;
            caserepo.Add(startupCase);

            //try
            //{
            if (newCase.File != null)
            {
                Guid   g          = Guid.NewGuid();
                string GuidString = Convert.ToBase64String(g.ToByteArray());
                GuidString = GuidString.Replace("=", "");
                GuidString = GuidString.Replace("+", "");

                string _FileName       = Path.GetFileName(newCase.File.FileName);
                string _UniqueFileName = GuidString + "+" + _FileName;
                //string _path = Path.Combine(Server.MapPath("~/UploadedFiles"), _UniqueFileName);


                byte[] uploadedFile = new byte[newCase.File.InputStream.Length];
                //var x = newCase.File.InputStream.Read(uploadedFile, 0, uploadedFile.Length);
                DAL.File NewFile = new DAL.File();
                NewFile.FileName      = _FileName;
                NewFile.SavedFileName = _UniqueFileName;
                NewFile.CaseID        = startupCase.CaseID;
                NewFile.Content       = uploadedFile;
                NewFile.FileType      = newCase.File.ContentType;
                filerepo.Add(NewFile);
            }
            //}
            //catch
            //{
            //    ViewBag.Message = "File upload failed!!";
            //    return View("NewCase", newCase);
            //}

            unitOfWork.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }
Example #4
0
        private void GetCallTypes(NewCaseVM newCaseVM)
        {
            List <CallTypeVM> callTypesVM = new List <CallTypeVM>();
            var callTypes = callIncident.GetCallTypes();

            callTypes.ForEach(x => callTypesVM.Add(new CallTypeVM
            {
                CallTypeId   = x.CallTypeId,
                CallTypeName = x.CallTypeName
            }));
            newCaseVM.CallTypes = new SelectList(callTypesVM, "CallTypeId", "CallTypeName");
        }
Example #5
0
        private void GetChiefComplaints(NewCaseVM newCaseVM)
        {
            List <ChiefComplaintVM> chiefComplaintsVM = new List <ChiefComplaintVM>();
            var callTypes = callIncident.GetChiefComplaints();

            callTypes.ForEach(x => chiefComplaintsVM.Add(new ChiefComplaintVM
            {
                ChiefComplaintId = x.ChiefComplaintId,
                ChiefComplaint   = x.Complaint
            }));
            newCaseVM.ChiefComplaintTypes = new SelectList(chiefComplaintsVM, "ChiefComplaintId", "ChiefComplaint");
        }
Example #6
0
        public ActionResult CreateNewCase(int vehicleId, string vehicleNumber)
        {
            Login     log       = new Login();
            NewCaseVM newCaseVM = new NewCaseVM();
            var       newCase   = callIncident.GetCallSequenceId("Pranay");

            if (vehicleNumber == null)
            {
                vehicleNumber = "AP10TM7172-Telangana";
            }

            newCaseVM.CallId   = newCase.CallId;
            newCaseVM.CallTime = newCase.CallStartTime != null?newCase.CallStartTime.ToString() : DateTime.Now.ToString();

            newCaseVM.VehicleId        = vehicleId;
            newCaseVM.VehicleNumber    = vehicleNumber.Split('-')[0];
            newCaseVM.VehicleLocation  = vehicleNumber.Split('-')[1];
            newCaseVM.IsEditMode       = false;
            newCaseVM.CaseDetails      = new CaseDetails();
            newCaseVM.ValidationValues = new Validation
            {
                BaseReachOdoInstituteDepartureDiff       = 100,
                InstituteDepartureTimeInstituteReachDiff = 120,
                InstituteReachOdoSceneReachOdoDiff       = 100,
                InstituteReachTimeSceneDepartureDiff     = 120,
                SceneDepartureTimeSceneReachDiff         = 120,
                SceneReachOdoStartOdoDiff = 100,
                StartTimeSceneReachDiff   = 120
            };

            GetCallTypes(newCaseVM);
            GetChiefComplaints(newCaseVM);
            GetStandardRemarks(newCaseVM);

            return(View("CreateNewCase", newCaseVM));
        }
        // GET: Portal/Case
        public ActionResult Dashboard()
        {
            long userId;

            if (Session["USER"] != null)
            {
                userId = ((User)Session["USER"]).UserID;
            }
            else
            {
                userId = 1;
            }
            //////////////////////////////Register Notification
            var currentTime = DateTime.Now;

            Session["LastUpdated"] = currentTime;
            NotificationComponent.SharedInstance.RegisterUser_Notification(currentTime, userId);

            /////////////////////////////////

            int solvedCnt = 0, solvingCnt = 0, EscCnt = 0;

            unitOfWork = (GenericUnitOfWork)Session["UNITOFWORK"];
            GenericRepository <Case> caseRepository = unitOfWork.GetRepoInstance <Case>();

            Dashboard model = new Dashboard()
            {
                Closed    = new List <Case>(),
                Current   = new List <Case>(),
                Escalated = new List <Case>()
            };

            GenericRepository <Priority> priority_caseRepository = unitOfWork.GetRepoInstance <Priority>();
            //GenericRepository<Status> status_caseRepository = unitOfWork.GetRepoInstance<Status>();
            GenericRepository <Category> category_caseRepository = unitOfWork.GetRepoInstance <Category>();

            List <Priority> priorities = priority_caseRepository.GetAll().ToList();
            List <Category> categories = category_caseRepository.GetAll().ToList();

            ViewBag.Priorities = priorities;
            ViewBag.Categories = categories;

            NewCaseVM newcasevm = new NewCaseVM();

            newcasevm.Case   = new Case();
            newcasevm.CaseID = newcasevm.Case.CaseID;
            model.newCaseVM  = newcasevm;

            var result = caseRepository.GetBy(c => c.StartupID == userId).OrderBy(c => c.CategoryID);

            if (result.Count() != 0)
            {
                foreach (Case c in result)
                {
                    if (c.StatusID == 1)
                    {
                        if (solvedCnt < 2)
                        {
                            model.Closed.Add(c);
                            solvedCnt++;
                        }
                    }
                    else if (c.StatusID == 2 || c.StatusID == 4)
                    {
                        if (solvingCnt < 2)
                        {
                            model.Current.Add(c);
                            solvingCnt++;
                        }
                    }
                    else
                    {
                        if (EscCnt < 2)
                        {
                            model.Escalated.Add(c);
                            EscCnt++;
                        }
                    }
                }
            }

            GenericRepository <User>    userRepo   = unitOfWork.GetRepoInstance <User>();
            GenericRepository <Startup> startRepoo = unitOfWork.GetRepoInstance <Startup>();
            User          test  = Session["USER"] as User;
            User          user  = userRepo.GetBy(u => u.UserID == test.UserID).FirstOrDefault();
            Startup       start = startRepoo.GetBy(s => s.CompanyID == test.UserID).FirstOrDefault();
            RegisterModel prof  = new RegisterModel();

            prof.UserID        = user.UserID;
            prof.CompanyID     = start.CompanyID;
            prof.FirstName     = user.FirstName;
            prof.LastName      = user.LastName;
            prof.Mobile        = user.Mobile;
            prof.CompanyName   = start.CompanyName;
            prof.CompanyNumber = start.CompanyNumber;
            //RegisterModel prof = new RegisterModel()
            //{
            //    UserID = user.UserID,
            //    CompanyID = start.CompanyID,
            //    FirstName = user.FirstName,
            //    LastName = user.LastName,
            //    //Email = user.Email,
            //    Mobile = user.Mobile,
            //    CompanyName = start.CompanyName,
            //    CompanyNumber = start.CompanyNumber
            //};
            ViewBag.Profile = prof;
            return(View(model));
        }
        // Return List of Escalated Cases
        public ActionResult GetEscalatedList()
        {
            long userId;

            if (Session["USER"] != null)
            {
                userId = ((User)Session["USER"]).UserID;
            }
            else
            {
                userId = 1;
            }
            unitOfWork = (GenericUnitOfWork)Session["UNITOFWORK"];
            GenericRepository <User> userRepository = unitOfWork.GetRepoInstance <User>();
            GenericRepository <Case> caseRepository = unitOfWork.GetRepoInstance <Case>();

            var         result        = caseRepository.GetBy(c => c.StartupID == userId).OrderBy(c => c.CategoryID);
            List <Case> EscalatedList = new List <Case>();

            if (result.Count() != 0)
            {
                foreach (Case c in result)
                {
                    if (c.StatusID == 3)
                    {
                        EscalatedList.Add(c);
                    }
                }
            }
            ///////////////////////////////////////////////////////////////////
            GenericRepository <Priority> priority_caseRepository = unitOfWork.GetRepoInstance <Priority>();
            //GenericRepository<Status> status_caseRepository = unitOfWork.GetRepoInstance<Status>();
            GenericRepository <Category> category_caseRepository = unitOfWork.GetRepoInstance <Category>();

            List <Priority> priorities = priority_caseRepository.GetAll().ToList();
            List <Category> categories = category_caseRepository.GetAll().ToList();

            ViewBag.Priorities = priorities;
            ViewBag.Categories = categories;
            Dashboard model = new Dashboard()
            {
                Escalated = EscalatedList
            };

            NewCaseVM newcasevm = new NewCaseVM();

            newcasevm.Case   = new Case();
            newcasevm.CaseID = newcasevm.Case.CaseID;
            model.newCaseVM  = newcasevm;

            GenericRepository <User>    userRepo   = unitOfWork.GetRepoInstance <User>();
            GenericRepository <Startup> startRepoo = unitOfWork.GetRepoInstance <Startup>();
            User          test  = Session["USER"] as User;
            User          user  = userRepo.GetBy(u => u.UserID == test.UserID).FirstOrDefault();
            Startup       start = startRepoo.GetBy(s => s.CompanyID == test.UserID).FirstOrDefault();
            RegisterModel prof  = new RegisterModel();

            prof.UserID        = user.UserID;
            prof.CompanyID     = start.CompanyID;
            prof.FirstName     = user.FirstName;
            prof.LastName      = user.LastName;
            prof.Mobile        = user.Mobile;
            prof.CompanyName   = start.CompanyName;
            prof.CompanyNumber = start.CompanyNumber;

            ViewBag.Profile = prof;
            //////////////////////////////////////////
            ViewBag.TableName = "Escalated Cases";
            return(View("EscalatedCasesList", model));
        }