Esempio n. 1
0
        public bool NuevaInasistencia(Inasistencias model)
        {
            ctx.Inasistencias.Add(model);
            var result = ctx.SaveChanges();

            return(result > 0 ? true : false);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 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());
     }
 }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
 public string ListaInasistencias()
 {
     return(Inasistencias.ToString());
 }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
        //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;
            }
        }
Esempio n. 8
0
        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();
                }
            }
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 //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));
 }