Пример #1
0
        public ResultViewModel Update(EditAtividadeViewModel ativ)
        {
            try
            {
                var update = Builders <Atividade> .Update.Combine(
                    Builders <Atividade> .Update.Set("Data", ativ.Data),
                    Builders <Atividade> .Update.Set("Descricao", ativ.Descricao),
                    Builders <Atividade> .Update.Set("Responsavel", ativ.Responsavel),
                    Builders <Atividade> .Update.Set("Setor", ativ.Setor),
                    Builders <Atividade> .Update.Set("Solicitante", ativ.Solicitante),
                    Builders <Atividade> .Update.Set("Narrativa", ativ.Narrativa),
                    Builders <Atividade> .Update.Set("CategoriaId", ativ.CategoriaId),
                    Builders <Atividade> .Update.Set("Categoria", categoria.Find <Categoria>(x => x.Id == ativ.CategoriaId).FirstOrDefault())
                    );

                atividade.UpdateOne(x => x.Id == ativ.Id, update);

                return(new ResultViewModel()
                {
                    Success = true,
                    Message = "Atividade alterada com sucesso",
                    Data = ativ
                });
            }
            catch (Exception ex)
            {
                return(new ResultViewModel()
                {
                    Success = false,
                    Message = ex.Message,
                    Data = ex
                });
            }
        }
        public IActionResult Add(EditAtividadeViewModel atividade)
        {
            var result = atividadeService.Insert(atividade);

            TempData["Message"] = result.Message;
            return(RedirectToAction("Index"));
        }
        public ResultViewModel Update(EditAtividadeViewModel atividade)
        {
            var validate = ValidaUpdate(atividade);

            if (!validate.Success)
            {
                return(validate);
            }

            using (NpgsqlConnection conexao = new NpgsqlConnection(strconexao))
            {
                try
                {
                    var query = @"Update Atividade Set 
                                    Descricao   = @Descricao,
                                    Responsavel = @Responsavel,
                                    Setor       = @Setor,
                                    CategoriaId = @CategoriaId,
                                    Data        = @Data,                                        
                                    Solicitante = @Solicitante,
                                    Narrativa   = @Narrativa
                                    Where Id = @Id";

                    conexao.Execute(query, atividade);

                    return(new ResultViewModel()
                    {
                        Success = true,
                        Message = "Atividade alterada com sucesso",
                        Data = atividade
                    });
                }
                catch (Exception ex)
                {
                    return(new ResultViewModel()
                    {
                        Success = false,
                        Message = ex.Message,
                        Data = ex
                    });
                }
            }
        }
Пример #4
0
        public EditAtividadeViewModel SelectByIdWithCateg(int id)
        {
            var ativ  = atividade.Find <Atividade>(x => x.Id == id).FirstOrDefault();
            var categ = categoria.Find <Categoria>(x => true).ToList();

            var result = new EditAtividadeViewModel()
            {
                Id          = ativ.Id,
                Descricao   = ativ.Descricao,
                Data        = ativ.Data,
                Responsavel = ativ.Responsavel,
                Setor       = ativ.Setor,
                Solicitante = ativ.Solicitante,
                Narrativa   = ativ.Narrativa,
                CategoriaId = ativ.CategoriaId,
                Categorias  = categ
            };

            return(result);
        }
        private ResultViewModel ValidaUpdate(EditAtividadeViewModel atividade)
        {
            var listErros = new List <string>();

            if (atividade.Descricao?.TrimEnd() == "asd")
            {
                listErros.Add("Descrição deve ser diferente de 'asd'");
            }

            //Validacao para evitar erro no SQL
            if (atividade.Data <= new DateTime(1800, 01, 01) || atividade.Data >= new DateTime(2100, 01, 01))
            {
                listErros.Add("Data deve estar entra 01/01/1800 e 01/01/2100");
            }

            return(new ResultViewModel()
            {
                Success = listErros.Count() == 0,
                Message = listErros.Count() > 0 ? "Ocorreram erros" : "",
                Data = listErros
            });
        }
Пример #6
0
        public ResultViewModel Insert(EditAtividadeViewModel atividade)
        {
            var validate = ValidaUpdate(atividade);

            if (!validate.Success)
            {
                return(validate);
            }

            using (SqlConnection conexao = new SqlConnection(strconexao))
            {
                try
                {
                    var query = @"INSERT INTO Atividade(Descricao, Responsavel,  Setor,  CategoriaId, Data,  Prioridade, Solicitante, Narrativa) 
                                                VALUES(@Descricao,@Responsavel, @Setor, @CategoriaId, @Data, (Select ISNULL(MAX(Prioridade), 0) from Atividade) + 1,
                                                        @Solicitante, @Narrativa); 
                                    SELECT CAST(SCOPE_IDENTITY() as INT);";
                    conexao.Execute(query, atividade);

                    return(new ResultViewModel()
                    {
                        Success = true,
                        Message = "Atividade adicionada com sucesso",
                        Data = atividade
                    });
                }
                catch (Exception ex)
                {
                    return(new ResultViewModel()
                    {
                        Success = false,
                        Message = ex.Message,
                        Data = ex
                    });
                }
            }
        }
Пример #7
0
        public ResultViewModel Insert(EditAtividadeViewModel ativ)
        {
            try
            {
                atividade.InsertOne(new Atividade()
                {
                    Id               = GetNextSequence("ativid"),
                    Data             = ativ.Data,
                    Descricao        = ativ.Descricao,
                    Responsavel      = ativ.Responsavel,
                    Setor            = ativ.Setor,
                    Solicitante      = ativ.Solicitante,
                    Narrativa        = ativ.Narrativa,
                    DataEncerramento = new DateTime(01 / 01 / 0001),
                    CategoriaId      = ativ.CategoriaId,
                    Categoria        = categoria.Find <Categoria>(x => x.Id == ativ.CategoriaId).FirstOrDefault(),
                    Prioridade       = atividade.Find(x => x.DataEncerramento == new DateTime(01 / 01 / 0001))
                                       .SortByDescending(x => x.Prioridade).FirstOrDefault().Prioridade + 1
                });

                return(new ResultViewModel()
                {
                    Success = true,
                    Message = "Atividade adicionada com sucesso",
                    Data = ativ
                });
            }
            catch (Exception ex)
            {
                return(new ResultViewModel()
                {
                    Success = false,
                    Message = ex.Message,
                    Data = ex
                });
            }
        }
Пример #8
0
        public ResultViewModel Update(EditAtividadeViewModel atividade)
        {
            var result = repository.Update(atividade);

            return(result);
        }
Пример #9
0
        public ResultViewModel Insert(EditAtividadeViewModel atividade)
        {
            var result = repository.Insert(atividade);

            return(result);
        }