/// <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); }
/// <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); }
/// <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; }
public IActionResult DeleteConfirmed(int id) { Ferias ferias = _context.Ferias.Single(m => m.id == id); _context.Ferias.Remove(ferias); _context.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "id,idAluno,dataInicio,dataFim")] Ferias ferias) { if (ModelState.IsValid) { Ferias.Alterar(ferias); return(RedirectToAction("Index")); } return(View(ferias)); }
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)); }
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)); }
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)); } }
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)); } }
// 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)); }
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); }
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 })); }
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)); } }
// 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)); }
// 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)); }
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 })); }
/// <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(); }
// 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)); }
// 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())); }
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); }
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 })); }
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); }
// 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)); }
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)); } }
public void Insert(Ferias ferias) { conexao.Ferias.Add(ferias); }
/// <summary> /// Método DeletarFerias /// </summary> /// <param name="idPessoa"></param> public void DeletarFerias(Int32 idFerias) { Ferias ferias = _context.Ferias.Find(idFerias); _context.Ferias.Remove(ferias); }
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)); }
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())); }
public void FeriasAdd(Ferias ferias) { db.Ferias.Add(ferias); db.SaveChanges(); }
public void Cadastrar(Ferias ferias) { this.empresaContext.Insert(ferias); this.empresaContext.SaveChanges(); }