public ResponseDomainModel ReportedIssueFeedBack(ReportIssueDomainModel model)
        {
            ResponseDomainModel objRes = new ResponseDomainModel();

            try
            {
                var res = objHelper.Query <string>("ReportedIssueFeedBack", new
                {
                    issueid         = model.ReportId,
                    speedofsolution = model.SpeedOfSolution,
                    Communication   = model.Communication,
                    quality         = model.Quality,
                    availability    = model.Availability
                }).FirstOrDefault();
                if (res != null && res == "Update")
                {
                    objRes.isSuccess = false;
                    objRes.response  = "Feedback saved successfully.";
                }
                else
                {
                    objRes.isSuccess = false;
                    objRes.response  = "Something went wrong, please try again.";
                }
            }
            catch (Exception ex)
            {
                ErrorLog.LogError(ex);
                objRes.isSuccess = false;
                objRes.response  = "Something went wrong, please try again.";
            }
            return(objRes);
        }
        public HttpResponseMessage AddUpdateReportIssue(ReportIssueDomainModel model)
        {
            HttpResponseMessage httpResponse = new HttpResponseMessage();

            try
            {
                var response = networkRepository.AddUpdateReportIssue(model);
                if (response == null)
                {
                    httpResponse = Request.CreateResponse(HttpStatusCode.InternalServerError, "Error Occurred");
                }
                else
                {
                    httpResponse = Request.CreateResponse(HttpStatusCode.OK, response);
                }
                return(httpResponse);
            }
            catch (Exception ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content      = new StringContent("An error occurred, please try again or contact the administrator."),
                    ReasonPhrase = "An error occurred, please try again or contact the administrator.",
                    StatusCode   = HttpStatusCode.InternalServerError
                });
            }
        }
 public List <ReportIssueDomainModel> GetReportIssues(ReportIssueDomainModel model)
 {
     try
     {
         var listReportIssues = objHelper.Query <ReportIssueDomainModel>("GetReportedIssuesNew", new { @userid = model.UserId, role = model.Role, status = model.Status, isread = model.IsRead }).ToList();
         return(listReportIssues);
     }
     catch (Exception ex)
     {
         ErrorLog.LogError(ex);
         return(null);
     }
 }
        public ActionResult _ReportIssue(ReportIssueDomainModel model)
        {
            List <ReportIssueDomainModel> listReportIssues = new List <ReportIssueDomainModel>();

            if (model != null)
            {
                model.UserId = UserManager.user.UserId;
                model.Role   = UserManager.user.Role;
                if (model.Status == null)
                {
                    model.Status = "";
                }
                if (model.IsRead == null)
                {
                    model.IsRead = "";
                }
                var serialized = JsonConvert.SerializeObject(model);
                var client     = new HttpClient();
                var content    = new StringContent(serialized, System.Text.Encoding.UTF8, "application/json");
                client.BaseAddress = new Uri(HttpContext.Request.Url.AbsoluteUri);
                var result = client.PostAsync(BaseURL + "/api/NetworkIssues/GetReportIssues", content).Result;
                if (result.StatusCode == HttpStatusCode.OK)
                {
                    var contents = result.Content.ReadAsStringAsync().Result;
                    var Response = JsonConvert.DeserializeObject <List <ReportIssueDomainModel> >(contents);
                    listReportIssues = Response;
                }
                if (listReportIssues != null && listReportIssues.Count > 0)
                {
                    ViewBag.TotalCount  = listReportIssues[0].TotalCount;
                    ViewBag.ReadCount   = listReportIssues[0].ReadCount;
                    ViewBag.UnReadCount = listReportIssues[0].UnReadCount;
                }
                else
                {
                    var result1 = client.GetAsync(BaseURL + "/api/NetworkIssues/GetReportedIssueCount?UserId=" + model.UserId + "&Role=" + model.Role).Result;
                    if (result1.StatusCode == HttpStatusCode.OK)
                    {
                        var contents = result1.Content.ReadAsStringAsync().Result;
                        var Response = JsonConvert.DeserializeObject <List <ReportIssueDomainModel> >(contents);
                        if (Response != null && Response.Count > 0)
                        {
                            ViewBag.TotalCount  = Response[0].TotalCount;
                            ViewBag.ReadCount   = Response[0].ReadCount;
                            ViewBag.UnReadCount = Response[0].UnReadCount;
                        }
                    }
                }
            }
            return(PartialView(listReportIssues));
        }
        public ReportIssueDomainModel GetIssueDescription(long ReportId, string Role)
        {
            ReportIssueDomainModel objRes = new ReportIssueDomainModel();

            try
            {
                objRes = objHelper.Query <ReportIssueDomainModel>("GetIssueDescription", new { issueid = ReportId, role = Role }).FirstOrDefault();
            }
            catch (Exception ex)
            {
                ErrorLog.LogError(ex);
            }
            return(objRes);
        }
        public ReportIssueDomainModel GetIssueFeedBack(long ReportId)
        {
            ReportIssueDomainModel objRes = new ReportIssueDomainModel();

            try
            {
                objRes = objHelper.Query <ReportIssueDomainModel>("GetIssueFeedBack", new { issueid = ReportId }).FirstOrDefault();
            }
            catch (Exception ex)
            {
                ErrorLog.LogError(ex);
            }
            return(objRes);
        }
        public ActionResult AddUpdateReportIssue(ReportIssueDomainModel model)
        {
            ResponseDomainModel objRes = new ResponseDomainModel();

            if (model != null)
            {
                model.UserId = UserManager.user.UserId;
                var serialized = JsonConvert.SerializeObject(model);
                var client     = new HttpClient();
                var content    = new StringContent(serialized, System.Text.Encoding.UTF8, "application/json");
                client.BaseAddress = new Uri(HttpContext.Request.Url.AbsoluteUri);
                var result = client.PostAsync(BaseURL + "/api/NetworkIssues/AddUpdateReportIssue", content).Result;
                if (result.StatusCode == HttpStatusCode.OK)
                {
                    var contents = result.Content.ReadAsStringAsync().Result;
                    var Response = JsonConvert.DeserializeObject <ResponseDomainModel>(contents);
                    objRes = Response;
                }
            }
            return(RedirectToAction("_ReportIssue"));
        }
        public ResponseDomainModel AddUpdateReportIssue(ReportIssueDomainModel model)
        {
            ResponseDomainModel objRes = new ResponseDomainModel();

            try
            {
                var res = objHelper.Query <string>("AddUpdateReportIssue", new
                {
                    reportid         = model.ReportId,
                    userid           = model.UserId,
                    isuuesubject     = model.IssueSubject,
                    issuedescription = model.IssueDescription,
                    priority         = model.Priority,
                    remark           = model.Remark,
                    status           = model.Status
                }).FirstOrDefault();
                if (res == "Insert")
                {
                    objRes.isSuccess = true;
                    objRes.response  = "Issue added successfully";
                }
                else if (res == "Update")
                {
                    objRes.isSuccess = true;
                    objRes.response  = "Issue updated successfully.";
                }
                else
                {
                    objRes.isSuccess = false;
                    objRes.response  = "Something went wrong, please try again.";
                }
            }
            catch (Exception ex)
            {
                ErrorLog.LogError(ex);
                objRes.isSuccess = false;
                objRes.response  = "Something went wrong, please try again.";
            }
            return(objRes);
        }
        public HttpResponseMessage ReportedIssueFeedBack(long ReportId, string RatingString)
        {
            HttpResponseMessage httpResponse = new HttpResponseMessage();

            try
            {
                if (ReportId > 0)
                {
                    string[] str                 = RatingString.Split(',');
                    string   SpeedOfSolution     = str[0];
                    string   Communication       = str[1];
                    string   Quality             = str[2];
                    string   Availability        = str[3];
                    ReportIssueDomainModel model = new ReportIssueDomainModel()
                    {
                        SpeedOfSolution = SpeedOfSolution, Communication = Communication, Quality = Quality, Availability = Availability, ReportId = ReportId
                    };
                    var response = networkRepository.ReportedIssueFeedBack(model);
                    if (response == null)
                    {
                        httpResponse = Request.CreateResponse(HttpStatusCode.InternalServerError, "Error Occurred");
                    }
                    else
                    {
                        httpResponse = Request.CreateResponse(HttpStatusCode.OK, response);
                    }
                }
                return(httpResponse);
            }
            catch (Exception ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content      = new StringContent("An error occurred, please try again or contact the administrator."),
                    ReasonPhrase = "An error occurred, please try again or contact the administrator.",
                    StatusCode   = HttpStatusCode.InternalServerError
                });
            }
        }