Ejemplo n.º 1
0
        /// <summary>
        /// Método VerificarPeriodo
        /// </summary>
        /// <param name="ferias"></param>
        /// <returns></returns>
        public static bool VerificaPeriodo(Ferias ferias)
        {
            IFeriasRepository    feriasRepositorio = new FeriasModel(new StudioContext());
            IEnumerable <Ferias> f = feriasRepositorio.ConsultarFerias(ferias.cpf);
            int  qtdDias           = (ferias.dataFim.Subtract(ferias.dataInicio)).Days;
            int  qtdDiasBanco      = 0;
            bool retorno           = false;

            if (f.Count() == 0)
            {
                retorno = true;
            }
            else if (f.Count() > 0 && f.Count() <= 2)
            {
                foreach (var item in f)
                {
                    qtdDiasBanco += (item.dataFim.Subtract(item.dataInicio)).Days;
                }
                if (qtdDias > 30 || (qtdDias + qtdDiasBanco) > 30)
                {
                    retorno = false;
                }
                else
                {
                    retorno = true;
                }
            }

            return(retorno);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Método VerificaData
        /// </summary>
        /// <param name="ferias"></param>
        /// <returns></returns>
        public static bool VerificaData(Ferias ferias, bool update = false)
        {
            IFeriasRepository    feriasRepositorio = new FeriasModel(new StudioContext());
            IEnumerable <Ferias> f = feriasRepositorio.ConsultarFerias(ferias.cpf);
            bool retorno           = true;

            foreach (var item in f)
            {
                if (update)
                {
                    if (item.dataFim == ferias.dataFim && item.dataInicio == ferias.dataInicio)
                    {
                        retorno = false;
                    }
                }
                else
                {
                    if (item.dataFim == ferias.dataFim || item.dataInicio == ferias.dataInicio)
                    {
                        retorno = false;
                    }
                }
            }
            return(retorno);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Método AtualizaFerias
        /// </summary>
        /// <param name="ferias"></param>
        public void AtualizaFerias(Ferias ferias)
        {
            Ferias f = _context.Ferias.Find(ferias.ferias_id);

            f.dataFim               = ferias.dataFim;
            f.dataInicio            = ferias.dataInicio;
            _context.Entry(f).State = EntityState.Modified;
        }
Ejemplo n.º 4
0
        public IActionResult DeleteConfirmed(int id)
        {
            Ferias ferias = _context.Ferias.Single(m => m.id == id);

            _context.Ferias.Remove(ferias);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 5
0
 public ActionResult Edit([Bind(Include = "id,idAluno,dataInicio,dataFim")] Ferias ferias)
 {
     if (ModelState.IsValid)
     {
         Ferias.Alterar(ferias);
         return(RedirectToAction("Index"));
     }
     return(View(ferias));
 }
Ejemplo n.º 6
0
        public async Task <ActionResult <Ferias> > PostFerias(Ferias ferias)
        {
            ferias.Id                = new Guid();
            ferias.Status            = "Aguardando Retorno do RH";
            ferias.DataDaSolicitacao = DateTime.Now;
            ferias.Expirar           = 7;
            _context.Add(ferias);
            await _context.SaveChangesAsync();

            return(Ok(ferias));
        }
Ejemplo n.º 7
0
 public IActionResult Edit(Ferias ferias)
 {
     if (ModelState.IsValid)
     {
         _context.Update(ferias);
         _context.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewData["funcionarioId"] = new SelectList(_context.Funcionarios, "id", "funcionario", ferias.funcionarioId);
     return(View(ferias));
 }
Ejemplo n.º 8
0
 public IHttpActionResult ConsultarFeriasPorID(Int32 id)
 {
     try
     {
         Ferias ferias = feriasRepositorio.ConsultarFeriasPorID(id);
         return(Ok(ferias != null ? Newtonsoft.Json.JsonConvert.SerializeObject(ferias) : "Registro não encontrado"));
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
Ejemplo n.º 9
0
        public IHttpActionResult InserirFerias(Ferias ferias)
        {
            try
            {
                IPessoaRepository pessoaRepositorio = new PessoaModel(new StudioContext());
                Pessoa            pessoa            = pessoaRepositorio.ConsultarPessoaPorCPF(ferias.cpf);
                if (pessoa == null)
                {
                    return(Ok("CPF não encontrado na base."));
                }
                else if (pessoa.tipo_pagamento == "1")
                {
                    return(Ok("Registro de férias não pode ser feito para clientes mensais."));
                }
                else
                {
                    if (ValidaFerias.VerificaData(ferias))
                    {
                        if (feriasRepositorio.ConsultarFerias(ferias.cpf) != null && !ValidaFerias.VerificaPeriodo(ferias))
                        {
                            return(Ok("A soma dos dias é maior do que 30 ou já existem 3 períodos cadastrados"));
                        }
                        else
                        {
                            feriasRepositorio.InserirFerias(ferias);
                        }

                        if (feriasRepositorio.Salvar() == "1")
                        {
                            //IPessoaRepository pessoaRepositorio = new PessoaModel(new StudioContext());
                            //Pessoa pessoa = pessoaRepositorio.ConsultarPessoaPorCPF(ferias.cpf);
                            pessoa.data_pagamento = pessoa.data_pagamento.AddDays((ferias.dataFim.Subtract(ferias.dataInicio)).Days);
                            pessoaRepositorio.AtualizaPessoa(pessoa);
                            return(Ok(pessoaRepositorio.Salvar() == "1" ? "Registro inserido com Sucesso, nova data de pagamento será dia: " + pessoa.data_pagamento : "Registro não inserido"));
                        }
                        else
                        {
                            return(Ok("Registro não inserido"));
                        }
                    }
                    else
                    {
                        return(Ok("Data de início ou Data de Fim já cadastrados."));
                    }
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Ejemplo n.º 10
0
        // GET: /Ferias/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ferias ferias = Ferias.Selecionar(id.Value);

            if (ferias == null)
            {
                return(HttpNotFound());
            }
            return(View(ferias));
        }
Ejemplo n.º 11
0
        public void InsertFerias(Ferias ferias)
        {
            if (!File.Exists(nomeArquivo))
            {
                using (StreamWriter sw = File.CreateText(nomeArquivo))
                {
                };
            }

            string[] linhas = File.ReadAllLines(nomeArquivo);
            int      id     = Utils.DefinirId(linhas);

            ferias.Id = id;
            File.AppendAllText(nomeArquivo, FormatarLinhaCadastro(ferias) + Environment.NewLine);
        }
Ejemplo n.º 12
0
        public ActionResult Apagar(string id, string obs)
        {
            FT_ManagementContext context = HttpContext.RequestServices.GetService(typeof(FT_ManagementContext)) as FT_ManagementContext;
            Ferias ferias = context.ObterFerias(int.Parse(id));

            if (obs == null)
            {
                obs = "";
            }
            EnviarEmail(context.ObterUtilizador(ferias.IdUtilizador).EmailUtilizador, "Férias Não Aprovadas", "Serve o presente para informar que os seguintes dias não foram aprovados: <b>" + ferias.DataInicio.ToString("dd-MM-yyyy") + " a " + ferias.DataFim.ToString("dd-MM-yyyy") + "</b>" + ((obs.Count() > 0) ? "<br><br>Observações: " + obs : ""));

            context.ApagarFerias(int.Parse(id));

            return(RedirectToAction("Detalhes", new { IdUtilizador = ferias.IdUtilizador }));
        }
Ejemplo n.º 13
0
        public ActionResult CadastrarFerias([FromBody] AddFeriasModel model)
        {
            try
            {
                Ferias ferias = model;

                this.empresaService.Cadastrar(ferias);

                return(Ok());
            }
            catch (Exception)
            {
                MessageModel message = new MessageModel(1, Mensagens.ErroGenerico);
                return(BadRequest(message));
            }
        }
Ejemplo n.º 14
0
        // GET: Ferias/Edit/5
        public IActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            Ferias ferias = _context.Ferias.Single(m => m.id == id);

            if (ferias == null)
            {
                return(HttpNotFound());
            }
            ViewData["funcionarioId"] = new SelectList(_context.Funcionarios, "id", "funcionario", ferias.funcionarioId);
            return(View(ferias));
        }
Ejemplo n.º 15
0
        // GET: Ferias/Details/5
        public IActionResult Details(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            Ferias ferias = _context.Ferias.Single(m => m.id == id);

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

            return(View(ferias));
        }
Ejemplo n.º 16
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ferias ferias         = Ferias.Selecionar(id);
            int    idAluno        = ferias.idAluno;
            int    qtdeSolicitada = ferias.dataInicio.Subtract(ferias.dataFim).Days; //negativo

            Pagamento pg = Pagamento.SelecionarTodos(ferias.idAluno).OrderByDescending(x => x.dataBaseFim).ToList()[0];

            pg.dataProxima = pg.dataProxima.AddDays(qtdeSolicitada);

            Pagamento.Alterar(pg);



            Ferias.Excluir(ferias);
            return(RedirectToAction("Index", new { idAluno = idAluno }));
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Método de População da View da Linha do Tempo/Mês
        /// </summary>
        private void PopulateTimeLine()
        {
            DateTime inicio = new DateTime(DateTime.Now.Year, 01, 01);
            DateTime final  = new DateTime(DateTime.Now.Year, 12, 31);

            if (barEditItemAnoInicial.EditValue != null && barEditItemMesInicial.EditValue != null)
            {
                inicio = new DateTime((int)barEditItemAnoInicial.EditValue, (int)EnumUtil.ValueEnum(typeof(CsMesDomain), barEditItemMesInicial.EditValue.ToString()), 01);
            }
            if (barEditItemAnoFinal.EditValue != null && barEditItemMesFinal.EditValue != null)
            {
                final = new DateTime((int)barEditItemAnoFinal.EditValue, (int)EnumUtil.ValueEnum(typeof(CsMesDomain), barEditItemMesFinal.EditValue.ToString()), 28);
            }
            string[] superiores_oids;
            if (barEditItemSuperiorImediato.EditValue != null)
            {
                var array = from item in barEditItemSuperiorImediato.EditValue.ToString().Split(',')
                            where
                            !item.Equals("")
                            select item.Trim();

                superiores_oids = array.Count() == 0 ? new string[0] : array.ToArray <string>();
            }
            else
            {
                superiores_oids = new string[0];
            }
            string[] situacoes_ferias;
            if (barEditItemSituacaoFerias.EditValue != null)
            {
                var array = from item in barEditItemSituacaoFerias.EditValue.ToString().Split(',')
                            where
                            !item.Equals("")
                            select item.Trim();

                situacoes_ferias = array.Count() == 0 ? new string[0] : array.ToArray <string>();
            }
            else
            {
                situacoes_ferias = new string[0];
            }
            schedulerStorage1.Appointments.Clear();
            Ferias.AddRange(FeriasPlanejamento.GetPlanejamentoFerias(Session, superiores_oids, situacoes_ferias, inicio, final));
            schedulerControl1.RefreshData();
            PopulateItemNoSuperior();
        }
Ejemplo n.º 18
0
        // GET: /Ferias/Create
        public ActionResult Create(int idAluno)
        {
            if (TipoPlano.Selecionar(Aluno.Selecionar(idAluno).tipoPlano).descricao.Equals("MENSAL"))
            {
                return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
            }

            if (Pagamento.SelecionarTodos(idAluno).Count > 0)
            {
                Pagamento pg = Pagamento.SelecionarTodos(idAluno).OrderByDescending(x => x.dataProxima).ToList()[0];

                if (DateTime.Now >= pg.dataProxima)
                {
                    return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
                }
                else
                {
                    int qtdeFeriasExistentes = pg.dataProxima.AddDays(-1).Subtract(pg.dataBaseFim).Days;

                    if (qtdeFeriasExistentes >= 30)
                    {
                        return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
                    }
                    else
                    {
                        if (Ferias.SelecionarTodos(idAluno, pg.dataBaseFim).Count >= 3)
                        {
                            return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
                        }
                    }
                }
            }
            else
            {
                return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
            }

            Ferias ferias = new Ferias();

            ferias.idAluno    = idAluno;
            ferias.dataInicio = DateTime.Now;
            ferias.dataFim    = DateTime.Now;

            return(View(ferias));
        }
Ejemplo n.º 19
0
        // GET: /Ferias/
        public ActionResult Index(int idAluno)
        {
            ViewData["idAluno"] = idAluno;
            ViewData["Erro"]    = "";

            if (TipoPlano.Selecionar(Aluno.Selecionar(idAluno).tipoPlano).descricao.Equals("MENSAL"))
            {
                ViewData["Erro"] = "O plano do aluno " + Aluno.Selecionar(idAluno).nome + " não possui direito a férias";
            }

            if (Pagamento.SelecionarTodos(idAluno).Count > 0)
            {
                Pagamento pg = Pagamento.SelecionarTodos(idAluno).OrderByDescending(x => x.dataProxima).ToList()[0];

                if (DateTime.Now >= pg.dataProxima)
                {
                    ViewData["Erro"] = "O aluno está inadimplente e não é possivel gerar novas férias";
                }
                else
                {
                    int qtdeFeriasExistentes = pg.dataProxima.AddDays(-1).Subtract(pg.dataBaseFim).Days;

                    if (qtdeFeriasExistentes >= 30)
                    {
                        ViewData["Erro"] = "O aluno já excedeu a quantidade permitida de dias de férias para o plano vigente";
                    }
                    else
                    {
                        if (Ferias.SelecionarTodos(idAluno, pg.dataBaseFim).Count >= 3)
                        {
                            ViewData["Erro"] = "O aluno já excedeu a quantidade permitida de períodos de férias";
                        }
                    }
                }
            }
            else
            {
                ViewData["Erro"] = "O aluno não possui plano vigente para solicitar férias";
            }



            return(View(Ferias.SelecionarTodos(idAluno).OrderByDescending(x => x.dataInicio).ToList()));
        }
Ejemplo n.º 20
0
        public Ferias Update(Ferias entity)
        {
            const string sql = @"UPDATE dbo.ferias
                                        SET Inicio = @INICIO, 
                                            Fim = @FIM,
                                            IdFuncionario = @IDFUNCIONARIO
                                       WHERE Id = @ID";

            var sqlParams = new DynamicParameters();

            sqlParams.Add("INICIO", entity.Inicio, DbType.DateTime);
            sqlParams.Add("FIM", entity.Fim, DbType.DateTime);
            sqlParams.Add("IDFUNCIONARIO", entity.IdFuncionario, DbType.Int32);

            sqlParams.Add("ID", entity.Id);

            Connection.Execute(sql, sqlParams, Transaction);

            return(entity);
        }
Ejemplo n.º 21
0
        public ActionResult Validar(string id, string obs)
        {
            FT_ManagementContext context   = HttpContext.RequestServices.GetService(typeof(FT_ManagementContext)) as FT_ManagementContext;
            List <Ferias>        LstFerias = new List <Ferias>();
            Ferias ferias = context.ObterFerias(int.Parse(id));

            ferias.Validado    = true;
            ferias.Obs         = obs;
            ferias.ValidadoPor = int.Parse(this.User.Claims.First().Value);
            LstFerias.Add(ferias);

            context.CriarFerias(LstFerias);
            if (obs == null)
            {
                obs = "";
            }
            EnviarEmail(context.ObterUtilizador(ferias.IdUtilizador).EmailUtilizador, "Férias Aprovadas", "Serve o presente para informar que os seguintes dias foram aprovados: <b>" + ferias.DataInicio.ToString("dd-MM-yyyy") + " a " + ferias.DataFim.ToString("dd-MM-yyyy") + "</b>" + ((obs.Count() > 0) ? "<br><br>Observações: " + obs : ""));

            return(RedirectToAction("Detalhes", new { IdUtilizador = ferias.IdUtilizador }));
        }
Ejemplo n.º 22
0
        public Ferias Save(Ferias entity)
        {
            const string sql =
                @"INSERT INTO dbo.ferias
                                       (Inicio,
                                        Fim,
                                        IdFuncionario)
                                 OUTPUT inserted.id
                                 values (@INICIO,
                                         @FIM,
                                         @IDFUNCIONARIO)";

            var sqlParams = new DynamicParameters();

            sqlParams.Add("INICIO", entity.Inicio, DbType.DateTime);
            sqlParams.Add("FIM", entity.Fim, DbType.DateTime);
            sqlParams.Add("IDFUNCIONARIO", entity.IdFuncionario, DbType.Int32);

            entity.Id = Connection.Query <int>(sql, sqlParams, Transaction).FirstOrDefault();

            return(entity);
        }
Ejemplo n.º 23
0
        // GET: /Pagamento/Delete/5
        public ActionResult Delete(int?id)
        {
            ViewData["Erro"] = "";

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Pagamento pagamento = Pagamento.Selecionar(id.Value);

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

            if (Ferias.SelecionarTodos(pagamento.idAluno, pagamento.dataBaseFim).Count > 0)
            {
                ViewData["Erro"] = "Não é possivel excluir este pagamento pois existem férias lançadas para este contrato";
            }

            return(View(pagamento));
        }
Ejemplo n.º 24
0
        public IHttpActionResult AtualizarFerias(Ferias ferias)
        {
            try
            {
                if (ValidaFerias.VerificaData(ferias, true))
                {
                    if (feriasRepositorio.ConsultarFerias(ferias.cpf) != null && !ValidaFerias.VerificaPeriodo(ferias))
                    {
                        return(Ok("A soma dos dias é maior do que 30 ou já existem 3 períodos cadastrados"));
                    }
                    else
                    {
                        feriasRepositorio.AtualizaFerias(ferias);
                    }

                    if (feriasRepositorio.Salvar() == "1")
                    {
                        IPessoaRepository pessoaRepositorio = new PessoaModel(new StudioContext());
                        Pessoa            pessoa            = pessoaRepositorio.ConsultarPessoaPorCPF(ferias.cpf);
                        pessoa.data_pagamento = pessoa.data_pagamento.AddDays((ferias.dataFim.Subtract(ferias.dataInicio)).Days);
                        pessoaRepositorio.AtualizaPessoa(pessoa);
                        return(Ok(pessoaRepositorio.Salvar() == "1" ? "Registro atualizado com Sucesso" : "Registro não atualizado"));
                    }
                    else
                    {
                        return(Ok("Registro não atualizado"));
                    }
                }
                else
                {
                    return(Ok("Data de início ou Data de Fim já cadastrados."));
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Ejemplo n.º 25
0
 public void Insert(Ferias ferias)
 {
     conexao.Ferias.Add(ferias);
 }
Ejemplo n.º 26
0
        /// <summary>
        /// Método DeletarFerias
        /// </summary>
        /// <param name="idPessoa"></param>
        public void DeletarFerias(Int32 idFerias)
        {
            Ferias ferias = _context.Ferias.Find(idFerias);

            _context.Ferias.Remove(ferias);
        }
Ejemplo n.º 27
0
        public ActionResult Create([Bind(Include = "id,idAluno,dataInicio,dataFim")] Ferias ferias)
        {
            if (ModelState.IsValid)
            {
                if (ferias.dataFim < ferias.dataInicio)
                {
                    ModelState.AddModelError("dataFim", "A data final não pode ser antes da data inicio das férias");
                    return(View(ferias));
                }

                Pagamento pg = Pagamento.SelecionarTodos(ferias.idAluno).OrderByDescending(x => x.dataBaseFim).ToList()[0];

                if (ferias.dataInicio < pg.dataBaseInicio)
                {
                    ModelState.AddModelError("dataInicio", "A data inicial não pode ser antes da data do contrato atual");
                    return(View(ferias));
                }

                if (ferias.dataFim > pg.dataBaseFim)
                {
                    ModelState.AddModelError("dataFim", "A data final não pode ser após a data do contrato atual");
                    return(View(ferias));
                }


                if (Ferias.SelecionarPeriodoIgual(ferias.idAluno, ferias.dataInicio).Count > 0)
                {
                    ModelState.AddModelError("dataInicio", "A data inicial não pode ser entre um período de férias já cadastrado");
                    return(View(ferias));
                }

                if (Ferias.SelecionarPeriodoIgual(ferias.idAluno, ferias.dataFim).Count > 0)
                {
                    ModelState.AddModelError("dataFim", "A data final não pode ser entre um período de férias já cadastrado");
                    return(View(ferias));
                }

                ferias.dataBaseFimPagamento = pg.dataBaseFim;

                int qtdeFeriasExistentes = pg.dataProxima.AddDays(-1).Subtract(pg.dataBaseFim).Days;

                int qtdeSolicitada = ferias.dataFim.Subtract(ferias.dataInicio).Days;

                qtdeFeriasExistentes = qtdeFeriasExistentes + qtdeSolicitada;

                if (qtdeFeriasExistentes > 30)
                {
                    ModelState.AddModelError("dataFim", "Não é possível adicionar os " + qtdeSolicitada + " dias de férias");
                    return(View(ferias));
                }



                pg.dataProxima = pg.dataProxima.AddDays(qtdeSolicitada);

                Pagamento.Alterar(pg);

                Ferias.Incluir(ferias);
                return(RedirectToAction("Index", new { idAluno = ferias.idAluno }));
            }

            return(View(ferias));
        }
Ejemplo n.º 28
0
 private string FormatarLinhaCadastro(Ferias ferias)
 {
     return(string.Format("{0}\t{1}\t{2}\t{3}", ferias.Id, ferias.IdFuncionario, ferias.DataInicio.ToDataArquivo(), ferias.DataFim.ToDataArquivo()));
 }
Ejemplo n.º 29
0
 public void FeriasAdd(Ferias ferias)
 {
     db.Ferias.Add(ferias);
     db.SaveChanges();
 }
Ejemplo n.º 30
0
 public void Cadastrar(Ferias ferias)
 {
     this.empresaContext.Insert(ferias);
     this.empresaContext.SaveChanges();
 }