Esempio n. 1
0
        public ActionResult RegistrarMudanca(MudancaViewModel vm)
        {
            Mudanca mudanca   = new Mudanca();
            var     validacao = Util.Util.ValidarCamposMudanca(vm);

            var hora         = DateTime.Parse(vm.Hora);
            var data         = vm.Dia;
            var mudancaNoDia = unitOfWork.Mudancas.GetMudancaPorData(data);

            if (!validacao && mudancaNoDia == null)
            {
                mudanca = Mudanca.Criar(vm.Nome, data, hora, vm.TipoMudancaId, vm.Comentario, User.Identity.GetUserId());
                unitOfWork.Mudancas.Add(mudanca);
                unitOfWork.Complete();
                vm.Sucesso = true;
                NotificarMudanca(mudanca);
            }

            if (mudancaNoDia != null)
            {
                vm.ErrorMudanca = true;
            }
            if (validacao)
            {
                vm.ErrorValidacao = true;
            }


            vm.TiposMudanca   = unitOfWork.TiposMudanca.GetAllTiposMudanca();
            vm.MinhasMudancas = unitOfWork.Mudancas.GetMudancasPorId(User.Identity.GetUserId());

            return(View("Index", vm));
        }
Esempio n. 2
0
        public void NotificarMudanca(Mudanca mudanca)
        {
            var tipoMudanca = unitOfWork.TiposMudanca.GetAllTiposMudanca().Where(p => p.Id == mudanca.TipoMudancaId).FirstOrDefault().Descricao;
            var notificacao = Notificacao.NotificarMudanca(mudanca, tipoMudanca);

            unitOfWork.Notificacoes.Add(notificacao);
            unitOfWork.Complete();

            var notificacaoMudanca = NotificacaoMudanca.Criar(notificacao.Id, mudanca.Id);

            unitOfWork.NotificacaoMudanca.Salvar(notificacaoMudanca);
            unitOfWork.Complete();

            var usuarios = unitOfWork.Usuarios.GetAllUsuarios();

            foreach (var u in usuarios)
            {
                var usuarioNotificacao = UsuarioNotificacao.Criar(notificacao, u.UsuarioId, DateTime.Now);
                unitOfWork.UsuariosNotificacao.Add(usuarioNotificacao);
                unitOfWork.Complete();
            }
        }
Esempio n. 3
0
 public void Add(Mudanca mudanca)
 {
     _ctx.Mudancas.Add(mudanca);
 }
Esempio n. 4
0
        static void adicionar(List <BacklogItem> listaBackLog)
        {
            // cria laço para que o usuário possa criar quantos cards quiser antes de retornar ao menu principal.
            bool parar = false;

            while (!parar)
            {
                // solicita o tipo de item (feature, mudança defeito ou debito tecnico)
                Console.Clear();
                Console.WriteLine("Qual o tipo desse item? (Feature, Mudança, Defeito ou Débito Técnico)");
                Console.WriteLine("");
                Console.WriteLine("-> 1 - Feature");
                Console.WriteLine("-> 2 - Mudança");
                Console.WriteLine("-> 3 - Defeito");
                Console.WriteLine("-> 4 - Débito Técnico");
                Console.WriteLine("");
                Console.Write(">");
                string type = Console.ReadLine();
                // solitica o título do item.
                perguntar("Qual o título desse novo item?");
                string titulo = Console.ReadLine();
                // solicita a descrição do item.
                perguntar("Qual a descrição desse novo item?");
                string descricao = Console.ReadLine();
                // solicita a estimativa do item. Como deve ser um número inteiro, permite que, caso o usuário erre, ele tente novamente por meio de um laço.
                perguntar("Qual a estimativa desse novo item?");
                int  estimativa = 0;
                bool parar2     = false;
                while (parar2 == false)
                {
                    string str = Console.ReadLine();
                    Console.Write(">");
                    try {
                        estimativa = Convert.ToInt32(str);
                        parar2     = true;
                    } catch (Exception e) {
                        Console.WriteLine("Coloque um número inteiro!");
                    }
                }
                // solicita o status do item. Só que já existe uma lista de status existentes no arquivo status list. O usuário não pode inserir outra. Temos o metodo validar status para isso.
                Console.Clear();
                Console.WriteLine("Qual o status desse novo item?");
                Console.WriteLine("");
                Status status = 0;
                status = validarStatus(status);
                //pede para o usuário inserir atributo especial do backlog item. Por exemplo, um débito técnico precisa de uma justificativa.
                // cria o objeto e coloca na lista após definir atributo especial.
                if (type == "1")
                {
                    Console.Clear();
                    perguntar("Qual o critério de aceite dessa nova feature?");
                    string  criterioAceiteStr = Console.ReadLine();
                    Feature novoItem          = new Feature(titulo, descricao, estimativa, status, criterioAceiteStr);
                    listaBackLog.Add(novoItem);
                }
                else if (type == "2")
                {
                    perguntar("Qual a feature que terá essa mudança?");
                    string  featureStr = Console.ReadLine();
                    Mudanca novoItem   = new Mudanca(titulo, descricao, estimativa, status, featureStr);
                    listaBackLog.Add(novoItem);
                }
                else if (type == "3")
                {
                    perguntar("Qual a reprodução do defeito?");
                    string  reproducaoDefeitoStr = Console.ReadLine();
                    Defeito novoItem             = new Defeito(titulo, descricao, estimativa, status, reproducaoDefeitoStr);
                    listaBackLog.Add(novoItem);
                }
                else if (type == "4")
                {
                    perguntar("Qual a justificativa desse debito tecnico?");
                    string        justificativaStr = Console.ReadLine();
                    DebitoTecnico novoItem         = new DebitoTecnico(titulo, descricao, estimativa, status, justificativaStr);
                    listaBackLog.Add(novoItem);
                }
                // pergunta se o usuário deseja inserir um novo objeto. Em caso positivo, volta para o início.
                Console.Clear();
                Console.WriteLine("Selecione a opção desejada:");
                Console.WriteLine("");
                Console.WriteLine("-> 1 - para voltar ao menu inicial.");
                Console.WriteLine("-> 2 - para adicionar um novo item");
                Console.WriteLine("");
                Console.WriteLine("Digite o comando desejado:");
                Console.Write(">");
                string comando = Console.ReadLine();
                if (comando != "2")
                {
                    parar = true;
                }
            }
        }