예제 #1
0
        public ActionResult GetHelpdeskSupporter(int hdReqId)
        {
            MessageViewModels response  = new MessageViewModels();
            HelpdeskRequest   hdRequest = _hdReqServices.FindById(hdReqId);

            if (hdRequest != null)
            {
                List <User>            supporterList = _userServices.GetAllSupporter();
                List <HdSuporterModel> listSupporter = new List <HdSuporterModel>();
                HdSuporterModel        model         = null;
                foreach (var s in supporterList)
                {
                    model          = new HdSuporterModel();
                    model.UserId   = s.Id;
                    model.Fullname = s.Fullname;
                    listSupporter.Add(model);
                }
                if (hdRequest.SupporterId != null)
                {
                    response.Data = new { supporterList = listSupporter, curUserId = hdRequest.SupporterId };
                }
                else
                {
                    response.Data = new { supporterList = listSupporter };
                }
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public ActionResult GetRequestDeadline(int reqId)
        {
            MessageViewModels response = new MessageViewModels();
            HelpdeskRequest   hdReq    = _hdReqServices.FindById(reqId);

            if (null != hdReq)
            {
                string date       = "";
                string time       = "";
                var    createDate = hdReq.CreateDate.Value.ToString(AmsConstants.DateFormat);
                if (null == hdReq.DueDate)
                {
                    date = "-1";
                    time = "-1";
                }
                else
                {
                    date = hdReq.DueDate.Value.ToString(AmsConstants.DateFormat);
                    time = hdReq.DueDate.Value.ToString(AmsConstants.TimeFormat);
                }
                object obj = new { date = date, time = time, createDate = createDate };
                response.Data = obj;
            }
            else
            {
                response.StatusCode = -1;
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public ActionResult Detail(int currHelpdeskSupporterId, int requestId)
        {
            HelpdeskRequest          hr      = _helpdeskSupporterService.GetHelpdeskRequest(requestId);
            HelpdeskRequestViewModel request = new HelpdeskRequestViewModel();

            request.Title       = hr.Title;
            request.Description = hr.Description;
            //---Convert date to dd/MM/yyyy
            DateTime parsedCreateDate = (DateTime)hr.CreateDate;

            request.CreateDate = parsedCreateDate.ToString(patternDate);
            if (hr.DueDate != null)
            {
                DateTime parsedDueDate = (DateTime)hr.DueDate;
                request.DueDate = parsedDueDate.ToString(patternDate);
            }

            request.Status    = hr.Status.Value;
            request.HouseName = hr.House.HouseName;
            request.HelpdeskServiceCatName = hr.HelpdeskRequestCategory.Name;
            request.Id = hr.Id;
            request.HelpdeskSupporterId = currHelpdeskSupporterId;
            ViewBag.currRequest         = request;
            return(View());
        }
 public HelpdeskRequest ReadRequest(long id)
 {
     using (IDAL dal = this.DAL)
     {
         HelpdeskRequest hr = dal.Read <HelpdeskRequest>(id);
         hr.RequestDetailList = dal.List <RequestDetail>(id).ToList();
         return(hr);
     }
 }
예제 #5
0
        public ActionResult GetHdReqInfoDetail(int hdReqId)
        {
            MessageViewModels response = new MessageViewModels();

            HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqId);

            if (null != hdRequest)
            {
                HdReqDetailInfo hdReqDetailInfo = new HdReqDetailInfo();
                hdReqDetailInfo.SelectedHdSrvCatId = hdRequest.HelpdeskRequestCatId.Value;

                List <HelpdeskRequestCategory> hdSrvCats = _helpdeskServiceCat.GetAll();

                List <HelpdeskServiceCatModel> hdSrvCatModels = new List <HelpdeskServiceCatModel>();
                HelpdeskServiceCatModel        hdSrvCatModel  = null;
                foreach (var cat in hdSrvCats)
                {
                    hdSrvCatModel      = new HelpdeskServiceCatModel();
                    hdSrvCatModel.Id   = cat.Id;
                    hdSrvCatModel.Name = cat.Name;
                    hdSrvCatModels.Add(hdSrvCatModel);
                }

                List <HelpdeskRequestCategory> hdServices  = _helpdeskServiceCat.GetAll();
                List <HelpdeskServiceModel>    hdReqModels = new List <HelpdeskServiceModel>();
                HelpdeskServiceModel           hdSrvModel  = null;
                foreach (var hdSrv in hdServices)
                {
                    hdSrvModel      = new HelpdeskServiceModel();
                    hdSrvModel.Id   = hdSrv.Id;
                    hdSrvModel.Name = hdSrv.Name;
                    hdReqModels.Add(hdSrvModel);
                }

                HelpdeskRequestModel hdReqModel = new HelpdeskRequestModel();
                hdReqModel.HdReqTitle    = hdRequest.Title;
                hdReqModel.HdReqUserDesc = hdRequest.Description;

                hdReqDetailInfo.HdSrvCategories        = hdSrvCatModels;
                hdReqDetailInfo.ListHdSrvBySelectedCat = hdReqModels;
                hdReqDetailInfo.HdReqInfoDetail        = hdReqModel;

                response.Data = hdReqDetailInfo;
            }
            else
            {
                response.StatusCode = -1;
                response.Msg        = "Not found !";
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
 public bool UpdateHelpdeskRequest(HelpdeskRequest request)
 {
     try
     {
         _helpdeskSupporterRepository.Update(request);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         return(false);
     }
     return(true);
 }
예제 #7
0
        public ActionResult ViewHdRequestDetail(String hdReqId)
        {
            try
            {
                User u = _userServices.FindById(int.Parse(User.Identity.GetUserId()));
                if (u != null)
                {
                    HelpdeskRequest hdRequest       = _hdReqServices.FindById(Int32.Parse(hdReqId));
                    bool            allowViewDetail = false;
                    if (u.RoleId == SLIM_CONFIG.USER_ROLE_MANAGER)
                    {
                        allowViewDetail = true;
                    }
                    else if (u.RoleId == SLIM_CONFIG.USER_ROLE_SUPPORTER)
                    {
                        if (hdRequest.SupporterId != null)
                        {
                            allowViewDetail = true;
                        }
                    }
                    else if (u.RoleId == (int)SLIM_CONFIG.USER_ROLE_RESIDENT || u.RoleId == (int)SLIM_CONFIG.USER_ROLE_HOUSEHOLDER)
                    {
                        if (u.HouseId == hdRequest.HouseId)
                        {
                            allowViewDetail = true;
                        }
                    }
                    if (allowViewDetail)
                    {
                        List <HelpdeskRequestLog> helpdeskRequestLogs =
                            _helpdeskRequestLogServices.GetHelpdeskRequestLog(hdRequest.Id);
                        ViewBag.hdRequest           = hdRequest;
                        ViewBag.roleId              = u.RoleId;
                        ViewBag.userId              = u.Id;
                        ViewBag.helpdeskRequestLogs = helpdeskRequestLogs;
                        return(View("ViewHistoryHdRequestDetail"));
                    }
                    return(RedirectToAction("ViewHistoryHdRequest"));
                }/*Else return to main page*/
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest"));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest"));
        }
예제 #8
0
        public ActionResult AddHdRequest(HelpdeskRequestModel request)
        {
            MessageViewModels response = new MessageViewModels();

            try
            {
                User u = _userServices.FindById(request.HdReqUserId);
                HelpdeskRequestCategory hdServiceCat = _helpdeskServiceCat.FindById(request.HdServiceCatId);
                if (u != null && hdServiceCat != null)
                {
                    HelpdeskRequest hdRequest = new HelpdeskRequest();

                    hdRequest.HelpdeskRequestCatId = request.HdServiceCatId;
                    hdRequest.HouseId     = u.HouseId;//AnTT them vao cho nay 27-5-2016
                    hdRequest.CreateDate  = DateTime.Now;
                    hdRequest.Description = request.HdReqUserDesc;
                    hdRequest.ModifyDate  = DateTime.Now;
                    hdRequest.Status      = (int)StatusEnum.Open;
                    hdRequest.Title       = request.HdReqTitle;

                    int id = _hdReqServices.Add(hdRequest);
                    HelpdeskRequestLog log = new HelpdeskRequestLog();
                    log.ChangeFromUserId  = u.Id;
                    log.AssignToUserId    = u.Id;
                    log.HelpdeskRequestId = id;
                    log.StatusFrom        = (int)StatusEnum.Open;
                    log.StatusTo          = (int)StatusEnum.Open;
                    log.CreateDate        = DateTime.Now;
                    _helpdeskRequestLogServices.Add(log);
                }
                else
                {
                    response.StatusCode = -1;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                response.StatusCode = -1;
                return(Json(response));;
            }
            return(Json(response));
        }
 public void UpdateStatus(long requestId, int statusId)
 {
     using (IDAL dal = this.DAL)
     {
         dal.BeginTransaction();
         try
         {
             HelpdeskRequest o = dal.Read <HelpdeskRequest>(requestId);
             o.StatusCode = statusId;
             dal.Update(o);
             dal.CommitTransaction();
         }
         catch (Exception ex)
         {
             dal.RollbackTransaction();
             _logger.Error($"serviceName : HelpdeskRequestService, methodName : UpdateStatus, Arguments (requestId, statusId): ({requestId},{statusId}) , Exception : {ex.ToString()}");
             throw;
         }
     }
 }
예제 #10
0
        public bool UpdateStatus(int currId, int status)
        {
            HelpdeskRequest currRequest = GetHelpdeskRequest(currId);

            currRequest.Status = status;
            try
            {
                if (status == (int)StatusEnum.Done)
                {
                    currRequest.DoneDate = DateTime.Now;
                }
                _helpdeskSupporterRepository.Update(currRequest);
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }
        }
예제 #11
0
        public ActionResult Detail()
        {
            int             currRequestId           = int.Parse(Request["hiddenId"]);
            int             status                  = int.Parse(Request["hiddenStatus"]);
            int             currHelpdeskSupporterId = int.Parse(Request["hiddenHelpdeskSupporterId"]);
            HelpdeskRequest currHelpdeskRequest     = _helpdeskSupporterService.GetHelpdeskRequest(currRequestId);

            bool result = _helpdeskSupporterService.UpdateStatus(currRequestId, status);

            if (result)
            {
                //if update sucessfully, log this request.
                HelpdeskRequestLog helpdeskRequestLog = new HelpdeskRequestLog();
                helpdeskRequestLog.HelpdeskRequestId = currRequestId;
                helpdeskRequestLog.ChangeFromUserId  = currHelpdeskSupporterId;
                helpdeskRequestLog.CreateDate        = DateTime.Now;
                helpdeskRequestLog.StatusFrom        = int.Parse(Request["hiddenStatusFrom"]);
                helpdeskRequestLog.StatusTo          = status;
                _helpdeskRequestLogService.Add(helpdeskRequestLog);

                if (status == 3)
                {
                    //Add notification - AnTT - 09/07/2016 - START
                    NotificationService notificationService = new NotificationService();
                    if (currHelpdeskRequest.House != null)
                    {
                        List <User> memberInHouse = currHelpdeskRequest.House.Users.ToList();
                        foreach (User user in memberInHouse)
                        {
                            notificationService.addNotification(SLIM_CONFIG.NOTIC_TARGET_OBJECT_HELPDESK_REQUEST, user.Id, SLIM_CONFIG.NOTIC_VERB_FINISH_REQUEST, currHelpdeskSupporterId, helpdeskRequestLog.Id);
                        }
                    }
                    //Add notification - AnTT - 09/07/2016 - END
                }
                ViewBag.messageSuccess = "Đã xử lý thành công!";
                return(Redirect("~/HelpdeskSupporter/Detail?currHelpdeskSupporterId=" + currHelpdeskSupporterId + "&requestId=" + currRequestId));
            }
            return(Redirect("~/View/Shared/Error"));
        }
예제 #12
0
        public ActionResult SetDuedate(HdRequestChangeStatusModel hdReqChngStatus)
        {
            try
            {
                User fromUser = _userServices.FindById(hdReqChngStatus.FromUserId);

                if (fromUser != null)
                {
                    HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqChngStatus.HdReqId);

                    if (hdRequest.Status != (int)StatusEnum.Done && hdRequest.Status != (int)StatusEnum.Close && fromUser.RoleId == SLIM_CONFIG.USER_ROLE_MANAGER)
                    {
                        HelpdeskRequestLog hdRequestLog = new HelpdeskRequestLog();
                        hdRequestLog.StatusFrom        = (int)StatusEnum.ChangeDueDate;
                        hdRequestLog.StatusTo          = (int)StatusEnum.ChangeDueDate;
                        hdRequestLog.ChangeFromUserId  = fromUser.Id;
                        hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                        hdRequestLog.AssignToUserId    = fromUser.Id;
                        hdRequestLog.DeadLine          = DateTime.ParseExact(hdReqChngStatus.DueDate, AmsConstants.DateTimeFormat, CultureInfo.CurrentCulture);
                        hdRequestLog.CreateDate        = DateTime.Now;

                        hdRequest.DueDate    = DateTime.ParseExact(hdReqChngStatus.DueDate, AmsConstants.DateTimeFormat, CultureInfo.CurrentCulture);
                        hdRequest.ModifyDate = DateTime.Now;

                        _hdReqServices.Update(hdRequest);
                        _helpdeskRequestLogServices.Add(hdRequestLog);

                        return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = fromUser.Id }));
                    }
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
        }
예제 #13
0
 public ActionResult UpdateHdRequest(HelpdeskRequestModel request)
 {
     try
     {
         User            u         = _userServices.FindById(request.HdReqUserId);
         HelpdeskRequest hdRequest = _hdReqServices.FindById(request.HdReqId);
         if (u != null && hdRequest != null)
         {
             HelpdeskRequestCategory hdServiceCat = _helpdeskServiceCat.FindById(request.HdServiceCatId);
             hdRequest.HelpdeskRequestCatId = hdServiceCat.Id;
             hdRequest.Title       = request.HdReqTitle;
             hdRequest.Description = request.HdReqUserDesc;
             hdRequest.ModifyDate  = DateTime.Now;
             _hdReqServices.Update(hdRequest);
             return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = u.Id }));
         }
         // return to homepage
     }
     catch (Exception e)
     {
         return(RedirectToAction("ViewHistoryHdRequest"));
     }
     return(RedirectToAction("ViewHistoryHdRequest"));
 }
예제 #14
0
 public int Add(HelpdeskRequest hdReg)
 {
     helpdeskReqRepository.Add(hdReg);
     return(hdReg.Id);
 }
예제 #15
0
 public void  Update(HelpdeskRequest hdRequest)
 {
     helpdeskReqRepository.Update(hdRequest);
 }
예제 #16
0
        public ActionResult AssignTask(HdRequestChangeStatusModel hdReqChngStatus)
        {
            try
            {
                User fromUser = _userServices.FindById(hdReqChngStatus.FromUserId);
                User toUser   = _userServices.FindById(hdReqChngStatus.ToUserId);

                if (fromUser != null && toUser != null)
                {
                    HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqChngStatus.HdReqId);

                    if (hdRequest.Status != (int)StatusEnum.Done && hdRequest.Status != (int)StatusEnum.Close)
                    {
                        HelpdeskRequestLog hdRequestLog = new HelpdeskRequestLog();

                        if (hdRequest.Status == (int)StatusEnum.Open)
                        {
                            hdRequest.Status = (int)StatusEnum.Processing;

                            hdRequestLog.StatusFrom = (int)StatusEnum.Open;
                            hdRequestLog.StatusTo   = (int)StatusEnum.Processing;

                            hdRequestLog.ChangeFromUserId  = fromUser.Id;
                            hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                            hdRequestLog.AssignToUserId    = toUser.Id;

                            hdRequestLog.CreateDate = DateTime.Now;
                            _helpdeskRequestLogServices.Add(hdRequestLog);
                        }
                        hdRequestLog.StatusFrom = (int)StatusEnum.AssignTask;
                        hdRequestLog.StatusTo   = (int)StatusEnum.AssignTask;

                        hdRequest.ModifyDate  = DateTime.Now;
                        hdRequest.SupporterId = toUser.Id;
                        _hdReqServices.Update(hdRequest);

                        hdRequestLog.ChangeFromUserId  = fromUser.Id;
                        hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                        hdRequestLog.AssignToUserId    = toUser.Id;

                        hdRequestLog.CreateDate = DateTime.Now;
                        _helpdeskRequestLogServices.Add(hdRequestLog);
                        //Add notification - AnTT - 09/07/2016 - START
                        NotificationService notificationService = new NotificationService();
                        if (hdRequest.House != null)
                        {
                            List <User> memberInHouse = hdRequest.House.Users.ToList();
                            foreach (User user in memberInHouse)
                            {
                                notificationService.addNotification(SLIM_CONFIG.NOTIC_TARGET_OBJECT_HELPDESK_REQUEST, user.Id, SLIM_CONFIG.NOTIC_VERB_ASSIGN_REQUEST, fromUser.Id, hdRequestLog.Id);
                            }
                        }

                        //Add notification - AnTT - 09/07/2016 - END
                        return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = fromUser.Id }));
                    }
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
        }
예제 #17
0
        public ActionResult UpdateStatusHdRequest(HdRequestChangeStatusModel hdReqChngStatus)
        {
            try
            {
                User fromUser = _userServices.FindById(hdReqChngStatus.FromUserId);
                User toUser   = _userServices.FindById(hdReqChngStatus.ToUserId);

                if (fromUser != null)
                {
                    HelpdeskRequest hdRequest = _hdReqServices.FindById(hdReqChngStatus.HdReqId);
                    if (null != hdRequest)
                    {
                        bool statusIsChange = true;
                        if (hdRequest.Status == (int)StatusEnum.Open &&
                            hdReqChngStatus.FromStatus == hdRequest.Status &&
                            hdReqChngStatus.ToStatus == (int)StatusEnum.Processing
                            )
                        {
                            hdRequest.Status     = (int)StatusEnum.Processing;
                            hdRequest.ModifyDate = DateTime.Now;
                            _hdReqServices.Update(hdRequest);
                        }
                        else if (hdRequest.Status == (int)StatusEnum.Processing &&
                                 hdReqChngStatus.FromStatus == hdRequest.Status &&
                                 hdReqChngStatus.ToStatus == (int)StatusEnum.Done)
                        {
                            hdRequest.Status     = (int)StatusEnum.Done;
                            hdRequest.ModifyDate = DateTime.Now;
                            hdRequest.DoneDate   = DateTime.Now;
                            //                            hdRequest.Price = hdReqChngStatus.Price;
                            //                            hdRequest.DueDate = DateTime.Parse(hdReqChngStatus.DueDate);
                            /*Add them giá vào đây*/
                            _hdReqServices.Update(hdRequest);
                        }
                        else if (hdRequest.Status == (int)StatusEnum.Done &&
                                 hdReqChngStatus.FromStatus == hdRequest.Status &&
                                 hdReqChngStatus.ToStatus == (int)StatusEnum.Close)
                        {
                            hdRequest.Status     = (int)StatusEnum.Close;
                            hdRequest.CloseDate  = DateTime.Now;
                            hdRequest.ModifyDate = DateTime.Now;
                            _hdReqServices.Update(hdRequest);
                        }
                        else if (hdReqChngStatus.ToStatus == (int)StatusEnum.Cancel)
                        {
                            bool isOk = false;
                            if (fromUser.RoleId == SLIM_CONFIG.USER_ROLE_MANAGER &&
                                (hdRequest.Status == (int)StatusEnum.Open || hdRequest.Status == (int)StatusEnum.Processing))
                            {
                                isOk = true;
                            }
                            else if (fromUser.RoleId == SLIM_CONFIG.USER_ROLE_RESIDENT || fromUser.RoleId == SLIM_CONFIG.USER_ROLE_HOUSEHOLDER &&
                                     (hdRequest.Status == (int)StatusEnum.Open || hdRequest.Status == (int)StatusEnum.Processing))
                            {
                                isOk = true;
                            }
                            if (isOk)
                            {
                                hdRequest.Status     = (int)StatusEnum.Cancel;
                                hdRequest.ModifyDate = DateTime.Now;
                                _hdReqServices.Update(hdRequest);
                            }
                            else
                            {
                                statusIsChange = false;
                            }
                        }
                        if (statusIsChange)
                        {
                            HelpdeskRequestLog hdRequestLog = new HelpdeskRequestLog();
                            hdRequestLog.ChangeFromUserId  = fromUser.Id;
                            hdRequestLog.HelpdeskRequestId = hdRequest.Id;
                            //                        hdRequestLog.ChangeToUserId = toUser.Id;
                            hdRequestLog.StatusFrom = hdReqChngStatus.FromStatus;
                            hdRequestLog.StatusTo   = hdReqChngStatus.ToStatus;
                            hdRequestLog.CreateDate = DateTime.Now;
                            _helpdeskRequestLogServices.Add(hdRequestLog);
                            //                        hdReqId, String userId
                        }

                        return(RedirectToAction("ViewHdRequestDetail", new { hdReqId = hdRequest.Id, userId = fromUser.Id }));
                    }
                    else
                    {
                        return(RedirectToAction("ViewHistoryHdRequest", new { userId = fromUser }));
                    }// return message not found.
                }
                /*Else return to main page*/
            }
            catch (Exception)
            {
                return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
            }/*Return to main page*/

            return(RedirectToAction("ViewHistoryHdRequest", new { userId = hdReqChngStatus.FromUserId }));
        }
예제 #18
0
 /*Section="CustomCodeRegion"*/
 #region Customized
 public override HelpdeskRequest Create([FromBody] HelpdeskRequest viewModel)
 {
     DataModels.Helpdesk.HelpdeskRequest dmrec = viewModel.Map <Overtech.DataModels.Helpdesk.HelpdeskRequest, HelpdeskRequest>(mapperConfig);
     return(_dataService.CreateRequest(dmrec).Map <Overtech.DataModels.Helpdesk.HelpdeskRequest, HelpdeskRequest>(mapperConfig));
     // return base.Create(viewModel);
 }
예제 #19
0
        public HelpdeskRequest GetHelpdeskRequest(int id)
        {
            HelpdeskRequest hr = new HelpdeskRequest();

            return(hr = _helpdeskSupporterRepository.FindById(id));
        }