public bool NuevaInasistencia(Inasistencias model) { ctx.Inasistencias.Add(model); var result = ctx.SaveChanges(); return(result > 0 ? true : false); }
public JsonResult GuardarDuplicados() { var duplicados = TempData["duplicados"] as List <IncidenciasDuplicadas>; if (duplicados == null) { return(Json(false, JsonRequestBehavior.AllowGet)); } var inasistencias = new List <Inasistencias>(); foreach (var item in duplicados) { var inasistencia = new Inasistencias(); inasistencia.IdEmpleado = item.IdEmpleado; inasistencia.Fecha = item.FechaIncidencia; inasistencia.FechaFin = item.FechaFinIncidencia; inasistencia.Dias = item.Dias; inasistencia.IdTipoInasistencia = item.IdTipoInasistencia; inasistencias.Add(inasistencia); } _Inasistencias ins = new _Inasistencias(); var result = ins.CapturaMasivaSinComprobasion(inasistencias); return(Json(result, JsonRequestBehavior.AllowGet)); }
public string agregarInasistencia(Inasistencias inasistencia) { try { bd = new ApplicationDbContext(); bd.inasistenciasContext.Add(inasistencia); bd.SaveChanges(); return("Inasistencia creado"); } catch (Exception e) { System.ArgumentException argxEx = new System.ArgumentException("No se pudo crear la inasistencia.", e); return(argxEx.ToString()); } }
public JsonResult Nueva(int[] Empleados, DateTime Fecha, int IdTipoInasistencia, int Dias, DateTime?FechaFin = null) { _Inasistencias ctx = new _Inasistencias(); List <Inasistencias> lista = new List <Inasistencias>(); if (FechaFin < Fecha || FechaFin == null) { FechaFin = Fecha; } foreach (var item in Empleados) { Inasistencias inasistencia = new Inasistencias(); inasistencia.Fecha = Fecha; inasistencia.FechaFin = FechaFin; inasistencia.IdTipoInasistencia = IdTipoInasistencia; inasistencia.IdEmpleado = item; inasistencia.Dias = Dias; lista.Add(inasistencia); } var result = ctx.CapturaMasiva(lista); TempData["duplicados"] = result; return(Json(result, JsonRequestBehavior.AllowGet)); }
public string ListaInasistencias() { return(Inasistencias.ToString()); }
public bool guardarRegistro(DataTable data, int idperiodo) { try { int columnas = data.Columns.Count; List <DataColumn> drlist = new List <DataColumn>(); List <Inasistencias> inasistencias = new List <Inasistencias>(); foreach (DataColumn column in data.Columns) { drlist.Add((DataColumn)column); } foreach (DataRow row in data.Rows) { int IdEmpleado = Convert.ToInt32(row[0]); for (int i = 2; i < columnas; i++) { Inasistencias aux = new Inasistencias(); DateTime fecha = Convert.ToDateTime(drlist[i].ColumnName); int tipo = Convert.ToInt32(row[i]); aux.IdEmpleado = IdEmpleado; aux.Fecha = fecha; aux.FechaFin = fecha; aux.Dias = 1; aux.xNomina = true; aux.idPeriodo = idperiodo; aux.IdTipoInasistencia = tipo; inasistencias.Add(aux); } } var periodo = ctx.NOM_PeriodosPago.Where(x => x.IdPeriodoPago == idperiodo).FirstOrDefault(); var listacompara = ctx.Inasistencias.Where(x => (x.Fecha >= periodo.Fecha_Inicio && x.Fecha <= periodo.Fecha_Fin) || (x.FechaFin >= periodo.Fecha_Inicio && x.FechaFin <= periodo.Fecha_Fin)).ToList(); List <Inasistencias> borrarBD = new List <Inasistencias>(); Inasistencias aux3 = new Inasistencias(); List <Inasistencias> duplicado = inasistencias.ToList(); foreach (var ina in duplicado) { if (ina.IdTipoInasistencia != 1 && ina.IdTipoInasistencia != 15 && ina.IdTipoInasistencia != 8 && ina.IdTipoInasistencia != 9 && ina.IdTipoInasistencia != 16) { inasistencias.Remove(ina); } } List <Inasistencias> duplicado2 = inasistencias.ToList(); if (listacompara.Count > 0) { foreach (var ina in duplicado2) { foreach (var comparar in listacompara) { if (ina.Fecha == comparar.Fecha && ina.IdEmpleado == comparar.IdEmpleado && ina.IdTipoInasistencia == comparar.IdTipoInasistencia) { inasistencias.Remove(ina); } else if (ina.Fecha == comparar.Fecha && ina.IdEmpleado == comparar.IdEmpleado && ina.IdTipoInasistencia != comparar.IdTipoInasistencia) { if (ina.IdTipoInasistencia == 1 || ina.IdTipoInasistencia == 15) { borrarBD.Add(comparar); inasistencias.Remove(ina); } else { borrarBD.Add(comparar); } } } } } else { List <Inasistencias> duplicado3 = inasistencias.ToList(); foreach (var ina in duplicado3) { if (ina.IdTipoInasistencia == 1 || ina.IdTipoInasistencia == 15) { inasistencias.Remove(ina); } } } int[] idBorrado = borrarBD.Select(x => x.IdInasistencia).ToArray(); var borrado = string.Join(",", idBorrado); if (borrado != "") { using (var context = new RHEntities()) { string sqlQuery1 = "DELETE [Inacistencias] WHERE IdInacistencia in (" + borrado + ")"; context.Database.ExecuteSqlCommand(sqlQuery1); } } using (var context = new RHEntities()) { context.Inasistencias.AddRange(inasistencias); context.SaveChanges(); } return(true); } catch (Exception e) { return(false); } }
//Iniciar Simulacion private void btnIniciar_Click(object sender, EventArgs e) { if (ValidarCampos()) { dgvMonteCarlo.Rows.Clear(); int estrategia; double gananciaPasajero; double costoReprog; double aux = 0; GananciaAcumulada = 0; cantidadVuelos = int.Parse(txtNroVuelos.Text); Desde = int.Parse(txtDesde.Text); Hasta = int.Parse(txtHasta.Text); gananciaPasajero = double.Parse(txtGanancia.Text); costoReprog = double.Parse(txtCosto.Text); estrategia = int.Parse(cmbEstrategia.SelectedItem.ToString()); lblTituloEstrategia.Text = "Estrategia de Sobreventa de " + estrategia.ToString() + " Reservas posibles"; //Calculo de prob acumuladas guardando en la lista probAcumulada for (int i = 0; i < dgv_probabilidades.Rows.Count; i++) { aux = Convert.ToDouble(dgv_probabilidades.Rows[i].Cells[2].Value); probAcumulada.Add(aux); } string[] array = new string[dgvMonteCarlo.Columns.Count]; if (cmbVersion.SelectedIndex == 1) { //Carga de datos en el excel for (int i = 0; i < dgvMonteCarlo.Columns.Count; i++) { array[i] = dgvMonteCarlo.Columns[i].HeaderText; } oAlmacenamiento.newFile(); oAlmacenamiento.saveData(array); } for (int i = 0; i < cantidadVuelos; i++) { int NroVuelo = i + 1; double RNDAsistencia = Math.Truncate(oGenerador.generadorUniforme() * 10000) / 10000; int Asistencias = compareRandom(RNDAsistencia, probAcumulada); int Inasistencias; int CantPasajeros; int PasajerosReprogramados; if (Asistencias > 30) { Inasistencias = 0; CantPasajeros = 30; PasajerosReprogramados = Asistencias - 30; } else { Inasistencias = 30 - Asistencias; CantPasajeros = Asistencias; PasajerosReprogramados = 0; } double GananciaVuelo = Math.Round((CantPasajeros * gananciaPasajero), 2); double CostoReprog = Math.Round((PasajerosReprogramados * costoReprog), 2); double GananciaNeta = GananciaVuelo - CostoReprog; GananciaAcumulada += GananciaNeta; if ((NroVuelo >= Desde && NroVuelo <= Hasta) || NroVuelo == cantidadVuelos) { dgvMonteCarlo.Rows.Add(NroVuelo, RNDAsistencia, Asistencias, Inasistencias, CantPasajeros, PasajerosReprogramados, GananciaVuelo, CostoReprog, GananciaNeta, GananciaAcumulada); } array = new string[] { NroVuelo.ToString(), RNDAsistencia.ToString(), Asistencias.ToString(), Inasistencias.ToString(), CantPasajeros.ToString(), PasajerosReprogramados.ToString(), GananciaVuelo.ToString(), CostoReprog.ToString(), GananciaNeta.ToString(), GananciaAcumulada.ToString() }; if (cmbVersion.SelectedIndex == 1) { oAlmacenamiento.saveData(array); } } double GananciaPromedio = Math.Round((GananciaAcumulada / (double)cantidadVuelos), 2); cargarDatosEstrategias(estrategia, gananciaPasajero, costoReprog, GananciaPromedio); btnIniciar.Enabled = false; } }
public void cambiarIncidencias(string[] array, string tipo, int idPeriodo, int IdUser) { //Validar periodo var itemPeriodo = ctx.NOM_PeriodosPago.FirstOrDefault(x => x.IdPeriodoPago == idPeriodo); if (itemPeriodo == null) { return; } //Si el periodo ya esta autorizado, ya no se podrá hacer cambios if (itemPeriodo.Autorizado == true) { return; } if (array == null || idPeriodo <= 0) { return; } int idTipo = 0; foreach (var ar in array) { string[] newarray = ar.Split(','); switch (tipo) { case "x": idTipo = 1; break; case "v": idTipo = 2; break; case "ir": idTipo = 3; break; case "ie": idTipo = 4; break; case "im": idTipo = 5; break; case "b": idTipo = 7; break; case "fi": idTipo = 8; break; case "fa": idTipo = 9; break; case "ps": idTipo = 10; break; case "pc": idTipo = 11; break; case "d": idTipo = 15; break; case "fj": idTipo = 16; break; default: idTipo = 1; break; } if (newarray[0] == "0") { int idEmpleado = Convert.ToInt32(newarray[1]); var contrato = ctx.Empleado_Contrato.Where(x => x.IdEmpleado == idEmpleado).OrderByDescending(x => x.IdContrato).FirstOrDefault(); var id = contrato.IdContrato; var idEmpresaF = 0; if (contrato.IdEmpresaFiscal != null) { if (contrato.IdEmpresaFiscal != 0) { idEmpresaF = contrato.IdEmpresaFiscal.Value; } } var itemNuevo = new Inasistencias { IdEmpleado = Convert.ToInt32(newarray[1]), IdTipoInasistencia = idTipo, Fecha = Convert.ToDateTime(newarray[2]), FechaFin = Convert.ToDateTime(newarray[2]), Dias = 1, xNomina = true, idPeriodo = idPeriodo, IdContrato = contrato.IdContrato, IdEmpresaFiscal = idEmpresaF, IdUsuario = IdUser, FechaReg = DateTime.Now }; ctx.Inasistencias.Add(itemNuevo); var t = ctx.SaveChanges(); } else { const string sqlQuery = "DELETE Inasistencias WHERE IdInasistencia = @p0"; ctx.Database.ExecuteSqlCommand(sqlQuery, newarray[0]); int idEmpleado = Convert.ToInt32(newarray[1]); var contrato = ctx.Empleado_Contrato.Where(x => x.IdEmpleado == idEmpleado).OrderByDescending(x => x.IdContrato).FirstOrDefault(); var idEmpresaF = 0; if (contrato.IdEmpresaFiscal != null) { if (contrato.IdEmpresaFiscal != 0) { idEmpresaF = contrato.IdEmpresaFiscal.Value; } } var itemNuevo = new Inasistencias { IdEmpleado = Convert.ToInt32(newarray[1]), IdTipoInasistencia = idTipo, Fecha = Convert.ToDateTime(newarray[2]), FechaFin = Convert.ToDateTime(newarray[2]), Dias = 1, xNomina = true, idPeriodo = idPeriodo, IdContrato = contrato.IdContrato, IdEmpresaFiscal = idEmpresaF, IdUsuario = IdUser, FechaReg = DateTime.Now }; ctx.Inasistencias.Add(itemNuevo); var t = ctx.SaveChanges(); } } }
public List <IncidenciasDuplicadas> GuardarInasistencias(int[] empleados, string[] fechas, int tipoInasistencias, int IdUser) { var lista = new List <Inasistencias>(); var listaDuplicados = new List <IncidenciasDuplicadas>(); int cont = 0; DateTime date = DateTime.Now; if (empleados == null || fechas == null) { return(null); } foreach (var itemEmpleado in empleados) { var contrato = ctx.Empleado_Contrato.Where(x => x.IdEmpleado == itemEmpleado).OrderByDescending(x => x.IdContrato).FirstOrDefault(); if (contrato == null) { continue; } foreach (var itemFecha in fechas) { var fechaInasistencia = DateTime.Parse(itemFecha.ToDiaMesAño()); //validamos que la fecha a registrar no exista para ese colaborador var duplicado = RevisarDuplicados(itemEmpleado, fechaInasistencia, fechaInasistencia); if (duplicado != null) { duplicado.IdEmpleado = itemEmpleado; duplicado.FechaIncidencia = fechaInasistencia; duplicado.FechaFinIncidencia = fechaInasistencia; duplicado.Dias = 1; duplicado.IdTipoInasistencia = tipoInasistencias; listaDuplicados.Add(duplicado); } else { var idEmpresaF = 0; if (contrato.IdEmpresaFiscal != null) { if (contrato.IdEmpresaFiscal != 0) { idEmpresaF = contrato.IdEmpresaFiscal.Value; } } var inasistencia = new Inasistencias() { IdInasistencia = 0, IdEmpleado = itemEmpleado, Dias = 1, Fecha = fechaInasistencia, FechaFin = fechaInasistencia, IdTipoInasistencia = tipoInasistencias, IdContrato = contrato.IdContrato, IdEmpresaFiscal = idEmpresaF, IdUsuario = IdUser, FechaReg = DateTime.Now }; ctx.Inasistencias.Add(inasistencia); cont++; } } } if (cont > 0) { ctx.SaveChanges(); } return(listaDuplicados); }
//Método encargado de agregar en bd inasitencias, de acuerdo a la HC. public string agregarInasistencia(Inasistencias inasistencia) { hcDALC = new HistoriaClinicaDALC(); return(hcDALC.agregarInasistencia(inasistencia)); }