public tblTreinamentoStatus CreateTrainingStatus(tblTreinamentoStatus TrainingStatus)
        {
            _db.tblTreinamentoStatus.Add(TrainingStatus);

            _db.SaveChanges();


            return(TrainingStatus);
        }
        public tblTreinamentoStatus UpdateTrainingStatus(tblTreinamentoStatus TrainingStatus)
        {
            var TrainingStatusToUpdate = _db.tblTreinamentoStatus.Find(TrainingStatus.idStatusTreinamento);

            TrainingStatusToUpdate.Denominacao = TrainingStatus.Denominacao;
            TrainingStatusToUpdate.Cor         = TrainingStatus.Cor;

            _db.Entry(TrainingStatusToUpdate).State = EntityState.Modified;
            _db.SaveChanges();


            return(TrainingStatusToUpdate);
        }
        public bool checkIfTrainingStatusAlreadyExits(tblTreinamentoStatus TrainingStatus)
        {
            var query = from f in _db.tblTreinamentoStatus
                        where f.Denominacao == TrainingStatus.Denominacao
                        orderby f.Denominacao ascending
                        select f;

            if (query.Count() == 1 && query.FirstOrDefault().idStatusTreinamento != TrainingStatus.idStatusTreinamento)
            {
                return(true);
            }

            return(false);
        }
        public ActionResult Edit(tblTreinamentoStatus trainingStatus, int id)
        {
            trainingStatus.idStatusTreinamento = id;
            var exits = _trainingStatus.checkIfTrainingStatusAlreadyExits(trainingStatus);


            if (ModelState.IsValid)
            {
                if (!exits)
                {
                    _trainingStatus.UpdateTrainingStatus(trainingStatus);

                    return(RedirectToAction("Index"));
                }
            }
            return(View(trainingStatus));
        }
        public ActionResult Create(tblTreinamentoStatus trainingStatus)
        {
            var exits = _trainingStatus.checkIfTrainingStatusAlreadyExits(trainingStatus);

            if (ModelState.IsValid)
            {
                if (!exits)
                {
                    _trainingStatus.CreateTrainingStatus(trainingStatus);

                    return(RedirectToAction("Index"));
                }
            }


            if (exits)
            {
                ModelState.AddModelError("Nome", "Status já existe");
            }

            return(View("Create"));
        }