public ActionResult CadastrarAusencia() { try { ViewBag.MensagemBodyController = ""; ViewBag.MensagemBodyAction = ""; ViewBag.MensagemBody = ""; CarregarDadosUsuarioParaTela(); if ((ViewData["idUsuario"] != null) && ((int)ViewData["idUsuario"] != 0)) { if ((int)ViewData["flConsultaI"] != 0) { var viewModel = new CadastrarAusenciaModel(); viewModel.DataInicio = DateTime.Now; viewModel.HoraInicio = 0; viewModel.DataFinal = DateTime.Now; viewModel.HoraFinal = 0; return(View(viewModel)); } else { HttpContext.Session.SetString("MensagemTitle", "Erro"); HttpContext.Session.SetString("MensagemBody", "O usuário " + ViewData["nome"] + " não tem acesso a página: 'Consulta/MarcarDataAusencia', pois não tem permissão para inserir consulta"); return(RedirectToAction("Index", "Home")); } } else { ViewData.Add("ReturnUrl", ((object[])this.ControllerContext.RouteData.Values.Values)[0] + "/" + ((object[])this.ControllerContext.RouteData.Values.Values)[1]); return(RedirectToAction("Signin", "Login", new { ReturnUrl = ViewData["ReturnUrl"] })); } } catch (Exception ex) { ViewBag.MensagemTitle = "Erro"; ViewBag.MensagemBodyController = "Controller: ConsultaController"; ViewBag.MensagemBodyAction = "Action: CadastrarConsulta"; ViewBag.MensagemBody = "Exceção: " + ex.Message; return(View()); } }
public int CadastrarAusencia(CadastrarAusenciaModel model) { try { DateTime dataInicio = new DateTime(model.DataInicio.Year, model.DataInicio.Month, model.DataInicio.Day, UtilMetodo.DescobrirHora(model.HoraInicio)[0], UtilMetodo.DescobrirHora(model.HoraInicio)[1], 0); DateTime dataFinal = new DateTime(model.DataFinal.Year, model.DataFinal.Month, model.DataFinal.Day, UtilMetodo.DescobrirHora(model.HoraFinal)[0], UtilMetodo.DescobrirHora(model.HoraFinal)[1], 0); DateTime dataAgora = DateTime.Now; if ((dataAgora - dataInicio).Ticks > 0) { return(1); } TimeSpan qtdDias = model.DataFinal - model.DataInicio; List <DateTime> listData = new List <DateTime>(); List <CadastrarAusenciaBancoModel> listAusenciaBancoModels = new List <CadastrarAusenciaBancoModel>(); if (qtdDias.Days < 0) { return(2); } else if (qtdDias.Days == 0) { if ((model.HoraFinal - model.HoraInicio) < 0) { return(3); } else { int[] horaInicial = UtilMetodo.DescobrirHora(model.HoraInicio); int[] horaFinal = UtilMetodo.DescobrirHora(model.HoraFinal); int[] listAusencia = new int[26]; int o = model.HoraInicio; int p = model.HoraFinal; for (int i = 1; i <= 26; i++) { if ((i == o) && (o <= p)) { listAusencia[i - 1] = 1; o++; } else { listAusencia[i - 1] = 0; } } CadastrarAusenciaBancoModel ausenciaBancoModel = new CadastrarAusenciaBancoModel(); ausenciaBancoModel.DataInicio = new DateTime(model.DataInicio.Year, model.DataInicio.Month, model.DataInicio.Day); ausenciaBancoModel.DataFinal = new DateTime(model.DataFinal.Year, model.DataFinal.Month, model.DataFinal.Day); ausenciaBancoModel.horaInicio = model.HoraInicio; ausenciaBancoModel.horaFinal = model.HoraFinal; ausenciaBancoModel.idUsuarioAusencia = model.idUsuarioAusencia; ausenciaBancoModel = UtilMetodo.MarcarAusenciaCadastrarNoBancoModel(ausenciaBancoModel, listAusencia); listAusenciaBancoModels.Add(ausenciaBancoModel); } } else { listData.Add(model.DataInicio); for (int i = 1; i < (qtdDias.Days); i++) { listData.Add(model.DataInicio.AddDays(i)); } listData.Add(model.DataFinal); int ordemDatas = 1; foreach (DateTime data in listData) { int[] listAusencia = new int[26]; int o = model.HoraInicio; int p = model.HoraFinal; if (ordemDatas == 1) { o = model.HoraInicio; p = 26; int[] horaInicial = UtilMetodo.DescobrirHora(model.HoraInicio); int[] horaFinal = UtilMetodo.DescobrirHora(26); } else if (ordemDatas == listData.Count) { o = 1; p = 26; int[] horaInicial = UtilMetodo.DescobrirHora(1); int[] horaFinal = UtilMetodo.DescobrirHora(model.HoraFinal); } else { o = 1; p = 26; int[] horaInicial = UtilMetodo.DescobrirHora(1); int[] horaFinal = UtilMetodo.DescobrirHora(26); } ordemDatas++; for (int i = 1; i <= 26; i++) { if ((i == o) && (o <= p)) { listAusencia[i - 1] = 1; o++; } else { listAusencia[i - 1] = 0; } } CadastrarAusenciaBancoModel ausenciaBancoModel = new CadastrarAusenciaBancoModel(); ausenciaBancoModel.DataInicio = new DateTime(data.Year, data.Month, data.Day); ausenciaBancoModel.DataFinal = new DateTime(data.Year, data.Month, data.Day); ausenciaBancoModel.idUsuarioAusencia = model.idUsuarioAusencia; ausenciaBancoModel = UtilMetodo.MarcarAusenciaCadastrarNoBancoModel(ausenciaBancoModel, listAusencia); listAusenciaBancoModels.Add(ausenciaBancoModel); } } AusenciaDAL objAusenciaDAL = new AusenciaDAL(); return(objAusenciaDAL.CadastrarAusencia(listAusenciaBancoModels)); } catch (Exception ex) { throw ex; } }
public ActionResult CadastrarAusencia(CadastrarAusenciaModel model) { try { if (!ModelState.IsValid) { //do whatever you want here } ViewBag.MensagemBodyController = ""; ViewBag.MensagemBodyAction = ""; ViewBag.MensagemBody = ""; CarregarDadosUsuarioParaTela(); if ((ViewData["idUsuario"] != null) && ((int)ViewData["idUsuario"] != 0)) { if ((int)ViewData["flConsultaI"] != 0) { var objAusenciaBLL = new AusenciaBLL(); model.idUsuarioAusencia = Convert.ToInt32(ViewData["idUsuario"]); var retornoMarcarAusencia = objAusenciaBLL.CadastrarAusencia(model); if (retornoMarcarAusencia == 1) { ViewBag.MensagemTitle = "Error"; ViewBag.MensagemBody = "A hora inicial informada é mais cedo que a hora atual! Não pode marcar ausência retroativa!"; return(View()); } else if (retornoMarcarAusencia == 2) { ViewBag.MensagemTitle = "Error"; ViewBag.MensagemBody = "A data final tem que ser e maior que a data inicial!"; return(View()); } else if (retornoMarcarAusencia == 3) { ViewBag.MensagemTitle = "Error"; ViewBag.MensagemBody = "Quando a data inicial for igual a data final, a hora inicial tem que ser mais cedo que a hora final!"; return(View()); } else { ViewBag.MensagemTitle = "Sucesso"; ViewBag.MensagemBody = "A ausência para o seguinte período: " + new DateTime(model.DataInicio.Year, model.DataInicio.Month, model.DataInicio.Day, UtilMetodo.DescobrirHora(model.HoraInicio)[0], UtilMetodo.DescobrirHora(model.HoraInicio)[1], 0) + " até " + new DateTime(model.DataFinal.Year, model.DataFinal.Month, model.DataFinal.Day, UtilMetodo.DescobrirHora(model.HoraFinal)[0], UtilMetodo.DescobrirHora(model.HoraFinal)[1], 0) + " foi realizada com sucesso!"; ModelState.Clear(); return(View()); } } else { HttpContext.Session.SetString("MensagemTitle", "Erro"); HttpContext.Session.SetString("MensagemBody", "O usuário " + ViewData["nome"] + " não tem permissão para consultar Pacientes!"); return(RedirectToAction("Index", "Home")); } } else { ViewData.Add("ReturnUrl", ((object[])this.ControllerContext.RouteData.Values.Values)[0] + "/" + ((object[])this.ControllerContext.RouteData.Values.Values)[1]); return(RedirectToAction("Signin", "Login", new { ReturnUrl = ViewData["ReturnUrl"] })); } } catch (Exception ex) { ViewBag.MensagemTitle = "Erro"; ViewBag.MensagemBodyController = "Controller: ConsultaController"; ViewBag.MensagemBodyAction = "Action: MarcarDataAusencia"; ViewBag.MensagemBody = "Exceção: " + ex.Message; return(View()); } }