Пример #1
0
        public string EditTicket(UpdateTicket model, string userId, string userName)
        {
            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                var currentTicket = db.Issues.Find(model.IssueId);
                currentTicket.IssueDesc   = model.IssueDescription;
                currentTicket.IssueTypeId = model.IssueTypeId;

                var _issueId   = model.IssueId;
                var _issueDesc = model.IssueDescription;
                _username = userName;
                _email    = userName;
                EmailManager.SendEmailEditTicket(_email, _username, _issueId, _issueDesc);

                TimeLineLog tl = new TimeLineLog()
                {
                    Description  = "Issue Edited! Issue on: " + DateTime.Now + " User : "******" , Short Desc: " + model.IssueDescription,
                    EntryType    = "new",
                    TimeHappened = DateTime.Now,
                    Title        = "Issue Edited!",
                    UserName     = userName
                };
                db.TimeLineLogs.Add(tl);
                try
                {
                    db.SaveChanges();
                    return("ok");
                }
                catch (Exception ex)
                {
                    return("An error occured while updating ticket. => " + ex.Message);
                }
            }
        }
Пример #2
0
        public UpdateTicket EditTicket(int id, string name)
        {
            UpdateTicket model = new UpdateTicket();

            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                model.Types = db.IssueTypes.Select(i => new LookUpModel
                {
                    Display = i.IssueTypeDesc,
                    Value   = i.IssueTypeId
                }).ToList();
                //this finds your username and compares it to the one stored in the db so the logged in user gets only their tickets
                var getTicket = db.Issues.Where(it => it.User.UserName == name).FirstOrDefault(t => t.IssueId == id);
                if (getTicket == null)
                {
                    //sends back to the view page if you edit the url to try to get to someone elses ticket
                    return(model);
                }
                else
                {
                    model.IssueDescription      = getTicket.IssueDesc;
                    model.IssueId               = getTicket.IssueId;
                    model.IssueTypeId           = getTicket.IssueTypeId;
                    model.ResolutionId          = getTicket.ResolutionId;
                    model.IssueDescription      = getTicket.IssueDesc;
                    model.ResolutionDescription = db.Resolutions.FirstOrDefault(r => r.ResolutionId == getTicket.ResolutionId).ResolutionDesc;
                    model.SelectedIssueTypeId   = getTicket.IssueTypeId;
                }
            }
            return(model);
        }
        public ActionResult EditTicket(int id)
        {
            UpdateTicket model = _ticketAdapter.EditTicket(id, User.Identity.Name);


            if (model.IssueDescription == null)
            {
                return(RedirectToAction("ViewTickets"));
            }
            else
            {
                return(View(model));
            }
        }
Пример #4
0
        public object Post(UpdateTicket request)
        {
            var existingTicket = TicketRepo.GetTicket(request.Id);

            if (existingTicket == null)
            {
//                throw new Exception(TicketMessage.TicketDoesNotFound);
            }
            var ticket = TicketRepo.UpdateTicket(existingTicket, ToUpdateTicket(existingTicket, request));

            return(new AddTicketResponse()
            {
                Status = (int)CommonStatus.Success,
                Data = ticket.ConvertTo <ServiceModel.Types.Ticket>()
            });
        }
Пример #5
0
        public void ShouldFailUpdatingTicket()
        {
            var domain         = new Ticket(0, TicketState.Open, "test", 0, "problem", DateTime.Now);
            var input          = new UpdateTicketInput(0, 0, TicketState.Open, "test", 0, "problem", DateTime.Now);
            var mockTicketRepo = new Mock <ITicketRepository>();

            mockTicketRepo.Setup(m => m.Update(domain)).Returns(0);

            var mockTicketAttrRepo = new Mock <ITicketAttributionRepository>();

            mockTicketAttrRepo.Setup(m => m.GetFromTicket(1)).Returns(new TicketAttribution(0, 0, 0));

            var res = new UpdateTicket(mockTicketRepo.Object, mockTicketAttrRepo.Object, input, 0).Execute();

            Assert.AreEqual(-1, res);
        }
        public ActionResult EditTicket(UpdateTicket model)
        {
            string result = _ticketAdapter.EditTicket(model, User.Identity.GetUserId(), User.Identity.GetUserName());

            if (result.Contains("error"))
            {
                TimeLineHelper.ErrorOperations(User.Identity.Name, TimeLineHelper.Operations.Edit, result);
            }
            else
            {
                TimeLineHelper.TicketOperations(User.Identity.Name, TimeLineHelper.Operations.Edit, model.IssueId);
            }


            return(RedirectToAction("ViewTickets"));
        }
Пример #7
0
        public void Sincronizar(UpdateTicket tk)
        {
            var set = new
            {
                tk.numTicket,
                tk.serie
            };

            var where = new { idventa = tk.idventa };

            _restClient
            .Resource(_config.Puntos.Update)
            .SendPut(new
            {
                puntos = new { set, where }
            });
        }
Пример #8
0
        public ActionResult Edit(int id)
        {
            UpdateTicket ViewModel = new UpdateTicket();

            string url = "TicketData/FindTicket/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;

            if (response.IsSuccessStatusCode)
            {
                TicketDTO SelectedTicket = response.Content.ReadAsAsync <TicketDTO>().Result;
                ViewModel.Ticket = SelectedTicket;

                return(View(ViewModel));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
Пример #9
0
        public IActionResult Update([FromBody] UpdateTicketInput createTicket)
        {
            var userIdClaim = User.Identities
                              .FirstOrDefault(identity => identity.HasClaim(claim => claim.Type == "Id" || claim.Type == "Role"))
                              ?.Claims.FirstOrDefault(claim => claim.Type == "Id");
            var succeedParsing = long.TryParse(userIdClaim?.Value, out var value);

            if (!succeedParsing)
            {
                return(Unauthorized());
            }
            var res = new UpdateTicket(repository, ticketAttributionRepository, createTicket, value).Execute();

            if (res == -1)
            {
                return(BadRequest());
            }
            return(Ok(res));
        }
Пример #10
0
        private static ITicket ToUpdateTicket(ITicket existingTicket, UpdateTicket request)
        {
            DateTime?fromDate = null, toDate = null;

            if (!string.IsNullOrEmpty(request.StartDate))
            {
                fromDate = DateTime.ParseExact(request.StartDate, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault);
//                throw new Exception(TicketMessage.InvalidFromDate);
            }
            if (!string.IsNullOrEmpty(request.EndDate))
            {
                toDate = DateTime.ParseExact(request.EndDate, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault);
//                throw new Exception(TicketMessage.InvalidToDate);
            }
            var ticket = ((Repository.OrmLite.Ticket)existingTicket).CreateCopy();

            ticket.PopulateWith(request);
            ticket.FromDate = fromDate;
            ticket.ToDate   = toDate;

            return(ticket);
        }