Ejemplo n.º 1
0
        public ActionResult Details(CustomerAddResponseViewModel modelCustomer)
        {
            try
            {
                CustomerAddResponseViewModel tmp = modelCustomer;
                if (ModelState.IsValid)
                {
                    db.TicketPositions.Add(new TicketPosition
                    {
                        TiP_Date = DateTime.Now,
                        TiP_LP   = (from m in tmp.CustomerDetailsTickets
                                    orderby m.TiP_LP descending
                                    select m.TiP_LP).FirstOrDefault() + 1,
                        TiP_TiHID   = tmp.CustomerDetailsTickets.FirstOrDefault().TiH_ID,
                        TiP_CUSID   = User.Identity.GetUserId(),
                        TiP_Content = tmp.NewPositionContent
                    });
                    db.SaveChanges();
                    return(RedirectToAction("Details", new { id = tmp.CustomerDetailsTickets.FirstOrDefault().TiH_ID }));

                    // return RedirectToAction("Details", "Tickets",modelCustomer.CustomerDetailsTickets.FirstOrDefault().TiH_ID.ToString());
                }
                return(View("DetailsCustomers"));
            }
            catch (Exception e)
            {
                string exx = e.ToString();
                return(View());
            }
        }
Ejemplo n.º 2
0
        public ActionResult Details(int?id)
        {
            var userid = User.Identity.GetUserId();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ViewBag.Id      = id;
            ViewBag.Subject = db.TicketHeaders.Where(x => x.TiH_ID == id).FirstOrDefault().TiH_Subject;
            if (User.IsInRole("Customer"))
            {
                if (db.TicketHeaders.Where(x => x.TiH_ID == id).FirstOrDefault().TiH_CMPID != db.Customers.Where(y => y.Id == userid).FirstOrDefault().CuS_CMPID) //blokada przed próbą podejrzenia  ze strony "innych" klientów
                {
                    TempData["Error"] = "Nie masz uprawnień do przeglądania wybranego zgłoszenia.";
                    return(RedirectToAction("List"));
                }
                var model = (from tih in db.TicketHeaders
                             join tip in db.TicketPositions on tih.TiH_ID equals tip.TiP_TiHID
                             join ass in db.Assistants on tip.TiP_ASSID equals ass.Id into _ass
                             from ass in _ass.DefaultIfEmpty()
                             join cus in db.Customers on tip.TiP_CUSID equals cus.Id into _cus
                             from cus in _cus.DefaultIfEmpty()
                             join tis in db.TicketStates on tih.TiH_TiSID equals tis.TiS_ID
                             where tih.TiH_ID == id
                             select new CustomerDetailsTicketViewModel
                {
                    TiH_ID = tih.TiH_ID,
                    TiP_LP = tip.TiP_LP,
                    TiP_Date = tip.TiP_Date,
                    AssOrCus = (ass.Id == null && cus.Id != null) ? 1 :
                               (ass.Id != null && cus.Id == null) ? 2 : -1,
                    TiP_Content = tip.TiP_Content,
                    OperatorName = (ass.Id == null && cus.Id != null) ? cus.CuS_Name + " " + cus.CuS_Surname :
                                   (ass.Id != null && cus.Id == null) ? ass.AsS_Name + " " + ass.AsS_Surname : "Error",
                }).ToList();

                var model2 = new CustomerAddResponseViewModel()
                {
                    CustomerDetailsTickets = model
                };


                return(View("DetailsCustomers", model2));
            }
            else
            {
                var model = (from tih in db.TicketHeaders
                             join tip in db.TicketPositions on tih.TiH_ID equals tip.TiP_TiHID
                             join ass in db.Assistants on tip.TiP_ASSID equals ass.Id into _ass
                             from ass in _ass.DefaultIfEmpty()
                             join cus in db.Customers on tip.TiP_CUSID equals cus.Id into _cus
                             from cus in _cus.DefaultIfEmpty()
                             join tis in db.TicketStates on tih.TiH_TiSID equals tis.TiS_ID
                             where tih.TiH_ID == id
                             select new AssistantDetailsTicketViewModel
                {
                    TiH_ID = tih.TiH_ID,
                    TiP_LP = tip.TiP_LP,
                    TiP_Date = tip.TiP_Date,
                    AssOrCus = (ass.Id == null && cus.Id != null) ? 1 :
                               (ass.Id != null && cus.Id == null) ? 2 : -1,
                    TiP_Content = tip.TiP_Content,
                    OperatorName = (ass.Id == null && cus.Id != null) ? cus.CuS_Name + " " + cus.CuS_Surname :
                                   (ass.Id != null && cus.Id == null) ? ass.AsS_Name + " " + ass.AsS_Surname : "Error",
                }).ToList();
                var model2 = new AssistantAddResponseViewModel()
                {
                    AssistantDetailsTickets = model,
                    TicketWorkLog           = new TicketWorkLog
                    {
                        TwL_ASSID     = userid,
                        TwL_TIHID     = id,
                        TwL_StartDate = DateTime.Now,
                        TwL_EndDate   = DateTime.Now
                    }
                };
                return(View("DetailsAssistants", model2));
            }
        }