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)); }
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(); } }
public void Add(Mudanca mudanca) { _ctx.Mudancas.Add(mudanca); }
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; } } }