Ejemplo n.º 1
0
        public ActionControllerResult InsertTicket(TicketIncident unTicket, string userId = null, bool isAdminTicket = false)
        {
            ActionControllerResult result;

            try
            {
                unTicket.UtilisateurCreateur = this.userService.GetUserById(userId);
                unTicket.DateCreation        = DateTime.Now;
                unTicket.DateModification    = DateTime.Now;
                this.ticketRepository.Insert(unTicket);
                this.unitOfWork.Save();

                if (!isAdminTicket)
                {
                    IEnumerable <ApplicationUser> listAdmin = this.userService.GetUsersByRole(ROLE_ADMIN_TICKET);

                    foreach (ApplicationUser unUser in listAdmin)
                    {
                        if (unUser.EmailConfirmed)
                        {
                            this.emailService.SendEmailCreationTicket(unUser.Email);
                        }
                    }
                }

                result = ActionControllerResult.SUCCESS;
            }
            catch (Exception ex)
            {
                this.logService.LogErreur(LOG_TYPE_OBJECT.Ticket, null, "Erreur Lors de la création d'un Ticket d'incident", ex.Message, userId);
                result = ActionControllerResult.FAILURE;
            }

            return(result);
        }
        public ActionResult GetFormDetail(int materielId)
        {
            Materiel       unMateriel = this.materielService.GetMaterielById(materielId);
            TicketIncident unTicket   = unMateriel.Tickets.Where(w => w.Statut != TICKET_INCIDENT_STATUT.Resolu).OrderByDescending(f => f.DateCreation).FirstOrDefault();

            return(PartialView("_FormDetailTicket", unTicket));
        }
Ejemplo n.º 3
0
        public ActionControllerResult MarquerLu(object id, string userId = null)
        {
            ActionControllerResult result;

            try
            {
                TicketIncident unTicket = this.GetTicketById(id);
                if (unTicket != null)
                {
                    unTicket.Statut           = TICKET_INCIDENT_STATUT.Lu;
                    unTicket.DateModification = DateTime.Now;

                    this.ticketRepository.Update(unTicket);
                    this.unitOfWork.Save();
                    result = ActionControllerResult.SUCCESS;
                }
                else
                {
                    result = ActionControllerResult.FAILURE;
                }
            }
            catch (Exception ex)
            {
                this.logService.LogErreur(LOG_TYPE_OBJECT.Ticket, null, "Erreur Lors de la modification d'un Ticket d'incident", ex.Message, userId);
                result = ActionControllerResult.FAILURE;
            }

            return(result);
        }
Ejemplo n.º 4
0
        public ActionControllerResult UpdateTicket(TicketIncident unTicket, bool userIsAdminTicket, string userId = null)
        {
            ActionControllerResult result;

            try
            {
                unTicket.DateModification = DateTime.Now;

                if (userIsAdminTicket)
                {
                    unTicket.UtilisateurAdministrateur = this.userService.GetUserById(userId);
                }

                this.ticketRepository.Update(unTicket);
                this.unitOfWork.Save();
                result = ActionControllerResult.SUCCESS;
            }
            catch (Exception ex)
            {
                this.logService.LogErreur(LOG_TYPE_OBJECT.Ticket, null, "Erreur Lors de la modification d'un Ticket d'incident", ex.Message, userId);
                result = ActionControllerResult.FAILURE;
            }

            return(result);
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                string ErrorMessage = "Id Ticket manquant";
                return(RedirectToAction("Index", new { MessageErreur = ErrorMessage }));
            }
            TicketIncident unTicket = this.ticketService.GetTicketById(id);

            if (unTicket == null)
            {
                return(HttpNotFound());
            }

            return(View(unTicket));
        }
        public ActionResult AjaxCreate([Bind(Include = "MaterielID, Type, statut, Message, NumeroFeb")] TicketIncident unTicket)
        {
            FormTicketIncidentViewModels formModel = this.GetFormTicket(false, unTicket);

            if (ModelState.IsValid)
            {
                ActionControllerResult result = this.ticketService.InsertTicket(unTicket, User.Identity.GetUserId(), User.IsInRole(ROLE_ADMIN_TICKET));
                if (result == ActionControllerResult.FAILURE)
                {
                    ViewBag.ErrorMessage = Constantes.MESSAGE_ERR_NOTIFICATIONS;
                    return(PartialView("_FormContenuTicket", formModel));
                }
                return(Json(string.Empty));
            }

            return(PartialView("_FormContenuTicket", formModel));
        }
        // GET: TicketIncident/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                string ErrorMessage = "Id Ticket manquant";
                return(RedirectToAction("Index", new { MessageErreur = ErrorMessage }));
            }
            TicketIncident unTicket = this.ticketService.GetTicketById(id);

            if (unTicket == null)
            {
                return(HttpNotFound());
            }

            FormTicketIncidentViewModels formModel = this.GetFormTicket(true, unTicket);

            return(View(formModel));
        }
        public ActionResult Edit([Bind(Include = "ID, MaterielID, Type, statut, Message, NumeroFeb, DateCreation, DateModification")] TicketIncident unTicket)
        {
            FormTicketIncidentViewModels formModel = this.GetFormTicket(true, unTicket);

            if (ModelState.IsValid)
            {
                ActionControllerResult result = this.ticketService.UpdateTicket(unTicket, User.IsInRole(Constantes.ROLE_ADMIN_TICKET), User.Identity.GetUserId());

                if (result == ActionControllerResult.FAILURE)
                {
                    ViewBag.ErrorMessage = Constantes.MESSAGE_ERR_NOTIFICATIONS;
                    return(View(formModel));
                }
                //Réussi
                this.logService.LogEvenement(LOG_TYPE_EVENT.Edit, LOG_TYPE_OBJECT.Ticket, unTicket.ID, "Modification d'un Ticket", null, User.Identity.GetUserId());
                return(RedirectToAction("Index"));
            }

            return(View(formModel));
        }
Ejemplo n.º 9
0
        public TicketIncident GetTicketById(object id)
        {
            TicketIncident unTicket = this.ticketRepository.GetByID(id);

            return(unTicket);
        }
        private FormTicketIncidentViewModels GetFormTicket(bool isEdit, TicketIncident unTicket = null, int?materielId = null)
        {
            //Gestion du statu du ticket
            if (unTicket != null)
            {
                if (unTicket.Statut == 0)
                {
                    unTicket.Statut = TICKET_INCIDENT_STATUT.Nouveau;
                }
            }
            else
            {
                unTicket        = new TicketIncident();
                unTicket.Statut = TICKET_INCIDENT_STATUT.Nouveau;
            }

            //Gestion de la récupératio des ID
            Materiel unMateriel   = null;
            int?     IdInventaire = null;
            int?     IdBloc       = null;
            int?     IdMateriel   = null;

            if (unTicket.MaterielID > 0)
            {
                unMateriel = this.materielService.GetMaterielById(unTicket.MaterielID);
                IdMateriel = unTicket.MaterielID;
            }
            else if (materielId != null)
            {
                unMateriel = this.materielService.GetMaterielById(materielId);
                IdMateriel = materielId;
            }

            if (IdMateriel != null)
            {
                IdInventaire        = unMateriel.BlocInventaire.InventaireID;
                IdBloc              = unMateriel.BlocInventaireID;
                unTicket.MaterielID = Convert.ToInt32(IdMateriel);
            }


            //Création Form
            FormTicketIncidentViewModels formModel = new FormTicketIncidentViewModels();

            formModel.unTicket = unTicket;

            //Gestion des listes
            formModel.listInventaire = this.selectListHelper.AddFirstItemSelectList(new SelectList(this.inventaireService.GetActiveNotStockInventaires(), "ID", "Nom"), IdInventaire, "Sélectionner");

            if (IdInventaire != null)
            {
                formModel.listBlocInventaire = this.selectListHelper.AddFirstItemSelectList(new SelectList(this.blocInventaireService.GetBlocsInventaireByInventaire(Convert.ToInt32(IdInventaire)), "ID", "Nom"), IdBloc, "Sélectionner");
            }
            else
            {
                formModel.listBlocInventaire = this.selectListHelper.AddFirstItemSelectList(new SelectList(Enumerable.Empty <SelectListItem>(), "ID", "Nom"), IdBloc, "Aucun");
            }

            if (IdInventaire != null)
            {
                IEnumerable <Materiel>      listMateriel   = this.materielService.GetMaterielsByBlocInventaire(Convert.ToInt32(IdBloc));
                Dictionary <string, string> dictionaryItem = new Dictionary <string, string>();

                foreach (Materiel unMat in listMateriel)
                {
                    if (unMat.TypeMateriel != null)
                    {
                        dictionaryItem.Add(unMat.ID.ToString(), unMat.TypeMateriel.Nom);
                    }
                    else
                    {
                        dictionaryItem.Add(unMat.ID.ToString(), unMat.Nom);
                    }
                }
                formModel.listMateriel = this.selectListHelper.AddFirstItemSelectList(this.selectListHelper.CreateSelectList(dictionaryItem), IdMateriel, "Sélectionner");
            }
            else
            {
                formModel.listMateriel = this.selectListHelper.AddFirstItemSelectList(new SelectList(Enumerable.Empty <SelectListItem>(), "ID", "Nom"), IdMateriel, "Aucun");
            }


            //Gestion du mode Edit et du mode Ajax
            formModel.isEdit        = isEdit;
            formModel.isAdminTicket = User.IsInRole(Constantes.ROLE_ADMIN_TICKET);
            return(formModel);
        }