protected void btn_agregar_equipo_Click(object sender, EventArgs e)
        {
            int id_equipo = Convert.ToInt32(ddl_equipos.SelectedValue);
            decimal porcentaje = ObtenerValor(tb_porcentaje.Text) / Convert.ToDecimal(100);
            if (porcentaje > 0)
            {
                using (var cxt = new Model1Container())
                {
                    int anio = Convert.ToInt32(ddl_anio.SelectedItem.Text);
                    int mes = Convert.ToInt32(ddl_mes.SelectedItem.Value);
                    var datos_planilla = cxt.Planilla_gastos_administrativo.FirstOrDefault(x => x.anio == anio && x.mes == mes);

                    decimal porcentaje_restante = Convert.ToDecimal(1) - datos_planilla.Detalle.Sum(x => x.porcentaje);

                    if (porcentaje > porcentaje_restante)
                    {
                        porcentaje = porcentaje_restante;

                        var detalle_equipo_planilla = datos_planilla.Detalle.FirstOrDefault(x => x.id_equipo == id_equipo);

                        if (detalle_equipo_planilla == null)
                        {
                            datos_planilla.Detalle.Add(new Aux_planilla_gasto_administracion() { id_equipo = id_equipo, porcentaje = porcentaje });
                        }
                        else
                        {
                            detalle_equipo_planilla.porcentaje = porcentaje;
                        }

                        cxt.SaveChanges();

                        MessageBox.Show(this, "El porcentaje exede lo que resta para llegar a 100%, se asignará " + porcentaje_restante.ToString("P2"), MessageBox.Tipo_MessageBox.Warning);
                    }
                    else
                    {
                        var detalle_equipo_planilla = datos_planilla.Detalle.FirstOrDefault(x => x.id_equipo == id_equipo);

                        if (detalle_equipo_planilla == null)
                        {
                            datos_planilla.Detalle.Add(new Aux_planilla_gasto_administracion() { id_equipo = id_equipo, porcentaje = porcentaje });
                        }
                        else
                        {
                            detalle_equipo_planilla.porcentaje = porcentaje;
                        }

                        cxt.SaveChanges();
                    }
                }

                CargarDatos();
            }
            else
            {
                MessageBox.Show(this, "El porcentaje debe ser mayor a cero y menor o igual al máximo disponible", MessageBox.Tipo_MessageBox.Warning);
            }
        }
        protected void btn_guardar_ServerClick(object sender, EventArgs e)
        {
            Validate();
            if (IsValid)
            {
                using (var cxt = new Model1Container())
                {
                    Categoria_empleado categoria = new Categoria_empleado() { nombre = tb_nombre_categoria.Value, descripcion = tb_descripcion_categoria.Value };

                    cxt.Categorias_empleados.Add(categoria);

                    tb_nombre_categoria.Value = string.Empty;
                    tb_descripcion_categoria.Value = string.Empty;

                    cxt.SaveChanges();
                }

                CargarCategorias();
            }
            else
            {
                string script = string.Empty;

                script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#agregar_categoria').modal('show')});</script>";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopUpError", script, false);
            }
        }
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            string datos_parte_a_eliminar = id_item_por_eliminar.Value;
            int id = Convert.ToInt32(datos_parte_a_eliminar.Split('-')[0]);
            if (id > 0)
            {
                //existe y fue guardado
                using (var cxt = new Model1Container())
                {
                    Item_por_amortizar i = cxt.Items_por_amortizar.FirstOrDefault(ii => ii.id_item == id);
                    int id_equipo = i.Equipo.id_equipo;
                    cxt.Items_por_amortizar.Remove(i);
                    cxt.SaveChanges();
                    Session["equipo"] = cxt.Equipos.First(ee => ee.id_equipo == id_equipo);
                }
            }
            else
            {
                Equipo session_equipo = Session["equipo"] as Equipo;
                string nombre_item = datos_parte_a_eliminar.Split('-')[1];
                session_equipo.Items_por_amortizar.Remove(session_equipo.Items_por_amortizar.First(ii => ii.nombre == nombre_item));
            }

            CargarValoresEquipo();
        }
        protected void btn_guardar_ServerClick(object sender, EventArgs e)
        {
            Validate();

            if (IsValid)
            {
                using (var cxt = new Model1Container())
                {
                    DateTime fecha;
                    if (DateTime.TryParse(tb_fecha_feriado.Value, out fecha))
                    {
                        Feriado feriado = new Feriado() { fecha = fecha, descripcion = tb_descripcion.Value};

                        cxt.Feriados.Add(feriado);

                        cxt.SaveChanges();

                        tb_descripcion.Value = string.Empty;
                        tb_fecha_feriado.Value = string.Empty;
                    }
                }

                CargarFeriados();
            }
            else
            {
                string script = string.Empty;

                script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#agregar_area').modal('show')});</script>";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopUpError", script, false);
            }
        }
        protected void btn_aceptar_categoria_Click(object sender, EventArgs e)
        {
            Validate("agregar");
            if (IsValid)
            {
                using (var cxt = new Model1Container())
                {
                    Categoria_equipo categoria = new Categoria_equipo() { nombre = tb_nombre_categoria.Value, descripcion = tb_descripcion_categoria.Value, toma_en_cuenta_planilla_costos_horas_hombre = chk_ver_muestra.Checked };

                    cxt.Categorias_equipos.Add(categoria);

                    cxt.SaveChanges();
                }

                CargarCategorias();
            }
            else
            {
                string script = string.Empty;

                script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#agregar_categoria').modal('show')});</script>";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopUpError", script, false);
            }
        }
        protected void btn_aceptar_edicion_Click(object sender, EventArgs e)
        {
            Validate("editar");
            if (IsValid)
            {
                using (var cxt = new Model1Container())
                {
                    int id_categoria = Convert.ToInt32(hidden_id_editar_categoria.Value);

                    Categoria_equipo categoria = cxt.Categorias_equipos.First(cc => cc.id_categoria == id_categoria);

                    categoria.nombre = tb_editar_nombre_categoria.Value;
                    categoria.descripcion = tb_editar_descripcion_categoria.Value;
                    categoria.toma_en_cuenta_planilla_costos_horas_hombre = chk_editar_muestra.Checked;

                    cxt.SaveChanges();
                }

                CargarCategorias();
            }
            else
            {
                string script = string.Empty;

                script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#agregar_categoria').modal('show')});</script>";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopUpError", script, false);
            }
        }
        protected void btn_editar_concepto_ServerClick(object sender, EventArgs e)
        {
            using (var cxt = new Model1Container())
            {
                try
                {
                    int id_item = 0;

                    if (int.TryParse(hidden_id_concepto.Value, out id_item))
                    {
                        Item_ingreso_egreso concepto = cxt.Items_ingresos_egresos.FirstOrDefault(ii => ii.id_item == id_item);
                        if (concepto != null)
                        {
                            concepto.nombre = txt_editar_nombre.Value;
                            concepto.descripcion = txt_editar_descripcion.Value;
                            cxt.SaveChanges();

                            txt_editar_nombre.Value = string.Empty;
                            txt_editar_descripcion.Value = string.Empty;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, "Error", MessageBox.Tipo_MessageBox.Danger);
                }
            }

            CargarConceptos();
        }
 public static void ActualizarValor(int mes, int anio, decimal valor)
 {
     using (var cxt = new Model1Container())
     {
         Valor_dolar vd_mes = cxt.Valores_dolar.FirstOrDefault(dd => dd.mes == mes && dd.anio == anio);
         vd_mes.valor = valor;
         cxt.SaveChanges();
     }
 }
        protected void btn_agregar_rubro_egreso_ServerClick(object sender, EventArgs e)
        {
            using (var cxt = new Model1Container())
            {
                Item_ingreso_egreso concepto_ingreso = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "EGRESOS", descripcion = "Representa el total de los egresos que produce el equipo" };
                cxt.Items_ingresos_egresos.Add(concepto_ingreso);
                cxt.SaveChanges();
                tb_descripcion.Value = string.Empty;
                tb_nombre.Value = string.Empty;
            }

            CargarConceptos();
        }
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            using (var cxt = new Model1Container())
            {
                int id_empleado = Convert.ToInt32(id_empleado_por_eliminar.Value);

                Empleado empleado = cxt.Empleados.First(ee => ee.id_empleado == id_empleado);
                empleado.fecha_baja = DateTime.Today;

                cxt.SaveChanges();
                CargarEmpleados();
            }
        }
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            int id_feriado = Convert.ToInt32(id_item_por_eliminar.Value);

            using (var cxt = new Model1Container())
            {
                Feriado feriado = cxt.Feriados.First(ff => ff.id_feriado == id_feriado);

                cxt.Feriados.Remove(feriado);
                cxt.SaveChanges();
            }

            CargarFeriados();
        }
        protected void btn_editar_sueldo_empleado_Click(object sender, EventArgs e)
        {
            int id_empleado = Convert.ToInt32(id_empleado_hidden.Value);
            int mes = Convert.ToInt32(ddl_mes.SelectedItem.Value);
            int anio = Convert.ToInt32(ddl_anio.SelectedItem.Value);

            decimal sueldo = 0;
            decimal.TryParse(tb_sueldo_empleado.Value, out sueldo);

            using (var cxt = new Model1Container())
            {
                Resumen_mes_empleado rme = cxt.Resumenes_meses_empleados.FirstOrDefault(rrmmee => rrmmee.id_empleado == id_empleado && rrmmee.mes == mes && rrmmee.anio == anio);
                if (rme != null)
                {
                    rme.Sueldo = sueldo;
                }
                else
                {
                    rme = new Resumen_mes_empleado()
                    {
                        id_empleado = id_empleado,
                        mes = mes,
                        anio = anio,
                        dias_laborables = 0,
                        dias_ausente = 0,
                        dias_presente = 0,
                        dias_por_cargar = 0,
                        dias_out = 0,
                        dias_presentes_en_dias_no_laborables = 0,
                        total_horas_normales = "00:00",
                        total_horas_extra_50 = "00:00",
                        total_horas_extra_100 = "00:00",
                        Sueldo = sueldo,
                        total_horas_ausente = "00:00",
                        total_horas_guardia = "00:00",
                        total_horas_varios_taller = "00:00"
                    };

                    cxt.Resumenes_meses_empleados.Add(rme);
                }

                cxt.SaveChanges();
            }

            tb_sueldo_empleado.Value = string.Empty;
            Cargar_busqueda();
        }
        protected void btn_agregar_rubro_ingreso_ServerClick(object sender, EventArgs e)
        {
            using (var cxt = new Model1Container())
            {
                try
                {
                    Item_ingreso_egreso concepto_ingreso = new Item_ingreso_egreso() { tipo = "Ingreso", nombre = "INGRESOS", descripcion = "Representa el total de los ingresos que produce el equipo" };
                    cxt.Items_ingresos_egresos.Add(concepto_ingreso);
                    cxt.SaveChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, "Error", MessageBox.Tipo_MessageBox.Danger);
                }
            }

            CargarConceptos();
        }
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            int id_categoria = Convert.ToInt32(id_item_por_eliminar.Value);

            using (var cxt = new Model1Container())
            {
                Categoria_empleado categoria = cxt.Categorias_empleados.First(aa => aa.id_categoria == id_categoria);

                if (categoria.Empleados.Count > 0)
                {
                    MessageBox.Show(this, "No se puede eliminar la categoria ya que la misma aún tiene empleados asociados", MessageBox.Tipo_MessageBox.Danger, "Imposible eliminar!");
                }
                else
                {
                    cxt.Categorias_empleados.Remove(categoria);
                    cxt.SaveChanges();
                }
            }

            CargarCategorias();
        }
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            int id_area = Convert.ToInt32(id_item_por_eliminar.Value);

            using (var cxt = new Model1Container())
            {
                Area area = cxt.Areas.First(aa => aa.id_area == id_area);

                if (area.Empleados.Where(ee => ee.fecha_baja == null).Count() > 0)
                {
                    MessageBox.Show(this, "No se puede eliminar el área ya que la misma aún tiene empleados", MessageBox.Tipo_MessageBox.Danger, "Imposible eliminar!");
                }
                else
                {
                    cxt.Areas.Remove(area);
                    cxt.SaveChanges();
                }
            }

            CargarAreas();
        }
        protected void btn_aceptar_reseteo_de_clave_Click(object sender, EventArgs e)
        {
            Usuario usuariologueado = Session["UsuarioLogueado"] as Usuario;
            if (usuariologueado == null)
            {
                Response.Redirect("~/Default.aspx?mode=session_end");
            }

            using (var cxt = new Model1Container())
            {
                Usuario usr = cxt.Usuarios.FirstOrDefault(uu => uu.id == usuariologueado.id);
                if (tb_pass1.Value == tb_pass2.Value)
                {
                    usr.pass = Cripto.Encriptar(tb_pass1.Value);
                    cxt.SaveChanges();

                    CargarDatosUsuario(usr);
                }
                else
                {
                    MessageBox("Las claves no coinciden!");
                }
            }
        }
        protected void btn_aceptar_usuario_nombre_Click(object sender, EventArgs e)
        {
            Usuario usuariologueado = Session["UsuarioLogueado"] as Usuario;
            if (usuariologueado == null)
            {
                Response.Redirect("~/Default.aspx?mode=session_end");
            }

            using (var cxt = new Model1Container())
            {
                Usuario usr = cxt.Usuarios.FirstOrDefault(uu => uu.id == usuariologueado.id);
                usr.nombre = tb_usuario_nombre.Value;
                cxt.SaveChanges();

                CargarDatosUsuario(usr);
            }
        }
        private void CargarValoresDolar(int anio)
        {
            using (var cxt = new Model1Container())
            {
                var dolarMes = cxt.Valores_dolar.Where(ii => ii.anio == anio);
                for (int i = 0; i < 12; i++)
                {
                    Valor_dolar vd_mes = dolarMes.FirstOrDefault(dd => dd.mes == i + 1);

                    if (vd_mes == null)
                    {
                        vd_mes = new Valor_dolar() { mes = i + 1, anio = anio, valor = 0 };
                        cxt.Valores_dolar.Add(vd_mes);
                    }

                    TextBox tb = ((TextBox)EncontrarControl(tabla_valores_dolar_anio, "valor_mes_" + (i + 1).ToString()));
                    if (tb != null)
                    {
                        tb.Text = vd_mes.valor.ToString();
                    }

                }

                cxt.SaveChanges();
            }

            tabla_valores_dolar_anio.Visible = true;
        }
        protected void btn_aceptar_usuario_usr_Click(object sender, EventArgs e)
        {
            Usuario usuariologueado = Session["UsuarioLogueado"] as Usuario;
            if (usuariologueado == null)
            {
                Response.Redirect("~/Default.aspx?mode=session_end");
            }

            using (var cxt = new Model1Container())
            {
                Usuario usr = cxt.Usuarios.FirstOrDefault(uu => uu.id == usuariologueado.id);
                bool yaexisteusuarioporguardar = cxt.Usuarios.Count(uu => uu.id != usr.id && uu.user == tb_usuario_usr.Value) > 0;
                if (yaexisteusuarioporguardar)
                {
                    MessageBox("El usuario que esta intentando guardar ya fue tomado, por favor ingrese otro");
                }
                else
                {
                    usr.user = tb_usuario_usr.Value;
                    cxt.SaveChanges();
                    CargarDatosUsuario(usr);
                }
            }
        }
        public void Agregar_detalle(Valor_mensual item_valor, int mes, int anio, decimal monto)
        {
            using (var cxt = new Model1Container())
            {
                Ingreso_egreso_mensual_equipo iemensual = Ingresos_egresos_mensuales.FirstOrDefault(x => x.anio == anio && x.mes == mes);

                if (iemensual == null)
                {
                    iemensual = new Ingreso_egreso_mensual_equipo();
                    iemensual.id_equipo = this.id_equipo;
                    iemensual.mes = mes;
                    iemensual.anio = anio;
                    cxt.Ingresos_egresos_mensuales_equipos.Add(iemensual);
                    cxt.SaveChanges();
                }

                string nombre_item = ObtenerNombreItem(item_valor);

                if (nombre_item != "")
                {
                    Item_ingreso_egreso item = cxt.Items_ingresos_egresos.FirstOrDefault(x => x.nombre == nombre_item);
                    if (item != null)
                    {
                        Valor_mes valor_mes = iemensual.Valores_meses.FirstOrDefault(x => x.id_item == item.id_item);
                        if (valor_mes == null)
                        {
                            valor_mes = new Valor_mes();
                            valor_mes.id_ingreso_egreso_mensual = iemensual.id_ingreso_egreso_mensual;
                            valor_mes.id_item = item.id_item;
                            valor_mes.valor = 0;
                            cxt.Valores_meses.Add(valor_mes);
                            cxt.SaveChanges();
                        }

                        //aca tengo el item valor mes del
                        string descripcion_detalle = "Gastos obtenidos de planilla de gastos administrativos";

                        Detalle_valor_item_mes detalle = valor_mes.Detalle.FirstOrDefault(x => x.descripcion == descripcion_detalle);

                        if (detalle == null)
                        {
                            detalle = new Detalle_valor_item_mes();
                            detalle.id_valor_mes = valor_mes.id;
                            detalle.fecha = new DateTime(anio, mes, DateTime.DaysInMonth(anio, mes));
                            detalle.descripcion = descripcion_detalle;
                            detalle.monto = monto;
                            cxt.Detalle_valores_items_mes.Add(detalle);
                        }
                        else
                        {
                            detalle = cxt.Detalle_valores_items_mes.First(x => x.id_detalle_valor_item_mes == detalle.id_detalle_valor_item_mes);
                            detalle.monto = monto;
                        }

                        cxt.SaveChanges();
                    }
                }
            }
        }
        public void Agregar_detalle_en_valor_mensual_segun_empleado(Tipo_empleado tipo, Valor_mensual item_valor, int mes, int anio, decimal monto)
        {
            using (var cxt = new Model1Container())
            {
                Ingreso_egreso_mensual_equipo iemensual = Ingresos_egresos_mensuales.FirstOrDefault(x => x.anio == anio && x.mes == mes);

                if (iemensual == null)
                {
                    iemensual = new Ingreso_egreso_mensual_equipo();
                    iemensual.id_equipo = this.id_equipo;
                    iemensual.mes = mes;
                    iemensual.anio = anio;
                    cxt.Ingresos_egresos_mensuales_equipos.Add(iemensual);
                    cxt.SaveChanges();
                }

                string nombre_item = ObtenerNombreItem_segun_empleado(tipo, item_valor);

                if (nombre_item != "")
                {
                    Item_ingreso_egreso item = cxt.Items_ingresos_egresos.FirstOrDefault(x => x.nombre == nombre_item);
                    if (item != null)
                    {
                        Valor_mes valor_mes = iemensual.Valores_meses.FirstOrDefault(x => x.id_item == item.id_item);
                        if (valor_mes == null)
                        {
                            valor_mes = new Valor_mes();
                            valor_mes.id_ingreso_egreso_mensual = iemensual.id_ingreso_egreso_mensual;
                            valor_mes.id_item = item.id_item;
                            valor_mes.valor = 0;
                            cxt.Valores_meses.Add(valor_mes);
                            cxt.SaveChanges();
                        }

                        //aca tengo el item valor mes del
                        string descripcion_detalle = "";

                        switch (tipo)
                        {
                            case Tipo_empleado.Mecanicos_pintores:
                                switch (item_valor)
                                {
                                    case Valor_mensual.Mano_obra:
                                        descripcion_detalle = "Gastos obtenidos de planilla de cálculos Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Insumos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Herramientas:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Viaticos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.ViaticosPP:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Indumentaria:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Repuestos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Repuestos_pp:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Gastos_varios:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;
                                    case Valor_mensual.Otros:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Mecánicos-Pintores";
                                        break;

                                    default:
                                        break;
                                }
                                break;
                            case Tipo_empleado.Soldadores:
                                switch (item_valor)
                                {
                                    case Valor_mensual.Mano_obra:
                                        descripcion_detalle = "Gastos obtenidos de planilla de cálculos Soldadores";
                                        break;
                                    case Valor_mensual.Insumos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Herramientas:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Viaticos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.ViaticosPP:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Indumentaria:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Repuestos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Repuestos_pp:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Gastos_varios:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    case Valor_mensual.Otros:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Soldadores";
                                        break;
                                    default:
                                        break;
                                }
                                break;
                            case Tipo_empleado.Grueros:
                                switch (item_valor)
                                {
                                    case Valor_mensual.Mano_obra:
                                        descripcion_detalle = "Gastos obtenidos de planilla de cálculos Grueros";
                                        break;
                                    case Valor_mensual.Insumos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Herramientas:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Viaticos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.ViaticosPP:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Indumentaria:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Repuestos:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Repuestos_pp:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Gastos_varios:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    case Valor_mensual.Otros:
                                        descripcion_detalle = "Gastos obtenidos de planilla de gastos en función horas hombre Grueros";
                                        break;
                                    default:
                                        break;
                                }
                                break;
                            default:
                                break;
                        }

                        Detalle_valor_item_mes detalle = valor_mes.Detalle.FirstOrDefault(x => x.descripcion == descripcion_detalle);

                        if (detalle == null)
                        {
                            detalle = new Detalle_valor_item_mes();
                            detalle.id_valor_mes = valor_mes.id;
                            detalle.fecha = new DateTime(anio, mes, DateTime.DaysInMonth(anio, mes));
                            detalle.descripcion = descripcion_detalle;
                            detalle.monto = monto;
                            cxt.Detalle_valores_items_mes.Add(detalle);
                        }
                        else
                        {
                            detalle = cxt.Detalle_valores_items_mes.First(x => x.id_detalle_valor_item_mes == detalle.id_detalle_valor_item_mes);
                            detalle.monto = monto;
                        }

                        cxt.SaveChanges();
                    }
                }

            }
        }
        protected void btn_guardar_ServerClick(object sender, EventArgs e)
        {
            this.Validate();
            if (IsValid)
            {

                using (var cxt = new Model1Container())
                {
                    Empleado empleado = null;

                    if (id_empleado_hidden.Value != "0")
                    {//existe empleado
                        int id_empleado = Convert.ToInt32(id_empleado_hidden.Value);
                        empleado = cxt.Empleados.FirstOrDefault(ee => ee.id_empleado == id_empleado);
                        empleado.dni = tb_dni_empleado.Value;
                        empleado.fecha_alta = Convert.ToDateTime(tb_fecha_alta_empleado.Value);
                        if (tb_fecha_baja_empleado.Value != "")
                        {
                            empleado.fecha_baja = Convert.ToDateTime(tb_fecha_baja_empleado.Value);
                        }
                        else
                        {
                            empleado.fecha_baja = null;
                        }
                        empleado.fecha_nacimiento = Convert.ToDateTime(tb_fecha_nacimiento_empleado.Value);
                        empleado.id_area = Convert.ToInt32(ddl_areas.SelectedItem.Value);
                        empleado.id_categoria = Convert.ToInt32(ddl_categorias.SelectedItem.Value);

                        empleado.nombre = tb_nombre_empleado.Value;
                    }
                    else
                    {
                        empleado = new Empleado()
                        {
                            dni = tb_dni_empleado.Value,
                            fecha_baja = null,
                            fecha_alta = Convert.ToDateTime(tb_fecha_alta_empleado.Value),
                            fecha_nacimiento = Convert.ToDateTime(tb_fecha_nacimiento_empleado.Value),
                            id_area = Convert.ToInt32(ddl_areas.SelectedItem.Value),
                            id_categoria = Convert.ToInt32(ddl_categorias.SelectedItem.Value),
                            nombre = tb_nombre_empleado.Value
                        };

                        if (tb_fecha_baja_empleado.Value != "")
                        {
                            empleado.fecha_baja = Convert.ToDateTime(tb_fecha_baja_empleado.Value);
                        }
                        else
                        {
                            empleado.fecha_baja = null;
                        }

                        cxt.Empleados.Add(empleado);
                    }

                    tb_dni_empleado.Value = string.Empty;
                    tb_fecha_nacimiento_empleado.Value = string.Empty;
                    tb_fecha_alta_empleado.Value = string.Empty;
                    tb_fecha_baja_empleado.Value = string.Empty;
                    ddl_areas.SelectedIndex = 0;
                    ddl_categorias.SelectedIndex = 0;
                    tb_nombre_empleado.Value = string.Empty;
                    id_empleado_hidden.Value = "0";

                    cxt.SaveChanges();
                }

                CargarEmpleados();
            }
            else
            {
                string script = string.Empty;

                script = "<script language=\"javascript\" type=\"text/javascript\">$(document).ready(function() { $('#agregar_empleado').modal('show')});</script>";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopUpError", script, false);
            }
        }
        private void CrearMostrarTabla(int id_equipo, int mes, int anio)
        {
            using (var cxt = new Model1Container())
            {
                DateTime primer_dia_mes = new DateTime(anio, mes, 1);
                DateTime ultimo_dia_mes = new DateTime(anio,mes,DateTime.DaysInMonth(anio,mes));

                var items_planilla = (from pc in cxt.Planilla_combustibles
                                      where
                                        pc.id_equipo == id_equipo &&
                                        pc.fecha >= primer_dia_mes &&
                                        pc.fecha <= ultimo_dia_mes
                                      select pc).OrderBy(x=>x.fecha).ToList();

                decimal km = 0;
                foreach (Planilla_combustible item in items_planilla)
                {
                    if (km > 0 && item.tanque_lleno == true)
                    {
                        item.promedio = item.litros * Convert.ToDecimal(100) / (item.km - km);
                    }
                    else
                    {
                        item.promedio = 0;
                    }

                    km = item.km;
                }

                cxt.SaveChanges();

                var items_grilla = (from ip in items_planilla
                                    select new {
                                        id_equipo = ip.Equipo.id_equipo,
                                        equipo = ip.Equipo.nombre,
                                        fecha = ip.fecha,
                                        chofer = ip.chofer,
                                        tanque_lleno = ip.tanque_lleno,
                                        litros = ip.litros,
                                        km = ip.km,
                                        promedio = ip.promedio,
                                        costo_total_facturado = ip.costo_total_facturado
                                    }).ToList();

                gv_combustible.DataSource = items_grilla;
                gv_combustible.DataBind();
            }
        }
        protected void btn_guardar_equipo_ServerClick(object sender, EventArgs e)
        {
            this.Validate("equipo");
            if (IsValid)
            {
                Equipo session_equipo = Session["equipo"] as Equipo;

                using (var cxt = new Model1Container())
                {
                    Equipo equipo = new Equipo();

                    if (session_equipo.id_equipo > 0)
                    {
                        equipo = cxt.Equipos.First(ee => ee.id_equipo == session_equipo.id_equipo);
                    }
                    else
                    {
                        cxt.Equipos.Add(equipo);
                    }

                    equipo.Generico = false;
                    equipo.notas = tb_notas_equipo.Value;
                    equipo.nombre = tb_nombre.Value;
                    equipo.id_categoria = Convert.ToInt32(ddl_categorias.SelectedItem.Value);
                    equipo.OUT = chk_out.Checked;

                    foreach (Item_por_amortizar parte in session_equipo.Items_por_amortizar)
                    {
                        if (parte.id_item == 0)
                        {
                            equipo.Items_por_amortizar.Add(new Item_por_amortizar()
                            {
                                costo_cero_km_uss = parte.costo_cero_km_uss,
                                meses_por_amortizar = parte.meses_por_amortizar,
                                nombre = parte.nombre,
                                porcentaje_usado = parte.porcentaje_usado,
                                porcentaje_valor_recidual = parte.porcentaje_valor_recidual,
                                periodo_alta_anio = parte.periodo_alta_anio,
                                periodo_alta_mes = parte.periodo_alta_mes
                            });
                        }
                    }

                    try
                    {
                        cxt.SaveChanges();
                        Session["equipo"] = null;
                        MessageBox.Show(this, "El equipo se guardo correctamente", MessageBox.Tipo_MessageBox.Success, "Genial!", "admin_equipos.aspx");
                    }
                    catch (Exception ex)
                    {
                        //inspeccion rapida y ((System.Data.Entity.Validation.DbEntityValidationException)ex).EntityValidationErrors para ver el error
                        MessageBox.Show(this, "Upps! ocurrió un error!", MessageBox.Tipo_MessageBox.Danger);
                    }
                }
            }
            else
            {
                MessageBox.Show(this, "Verifique los valores ingresados", MessageBox.Tipo_MessageBox.Info);
            }
        }
        private void InicializarDB()
        {
            using (var cxt = new Model1Container())
            {
                string clave = Cripto.Encriptar("123456");

                Usuario usr = new Usuario()
                {
                    nombre = "José Federico Bertoncini",
                    user = "******",
                    pass = clave,
                    perfil = perfil_usuario.Admin
                };

                cxt.Usuarios.Add(usr);

                cxt.Areas.Add(new Area() { nombre = "Taller" });

                cxt.Categorias_empleados.Add(new Categoria_empleado() { nombre = "Administrativo", descripcion = "" });
                cxt.Categorias_empleados.Add(new Categoria_empleado() { nombre = "Mecánico", descripcion = "" });
                cxt.Categorias_empleados.Add(new Categoria_empleado() { nombre = "Soldador", descripcion = "" });
                cxt.Categorias_empleados.Add(new Categoria_empleado() { nombre = "Pintor", descripcion = "" });

                cxt.Categorias_equipos.Add(new Categoria_equipo() { nombre = "Gruas", descripcion = "" });
                cxt.Categorias_equipos.Add(new Categoria_equipo() { nombre = "Camiones y carretones", descripcion = "" });
                cxt.Categorias_equipos.Add(new Categoria_equipo() { nombre = "Vehículos menores", descripcion = "" });
                cxt.Categorias_equipos.Add(new Categoria_equipo() { nombre = "Ventas", descripcion = "Equipos dedicados a la venta" });
                cxt.Categorias_equipos.Add(new Categoria_equipo() { nombre = "Trabajos particulares", descripcion = "Agrupa trabajos particulares" });
                Categoria_equipo ce = new Categoria_equipo() { nombre = "Otros", descripcion = "Agrupa otros equipos - conceptos" };
                cxt.Categorias_equipos.Add(ce);
                cxt.SaveChanges();

                cxt.Equipos.Add(new Equipo() { Categoria = ce, Generico = true, nombre = "Ausencia", fecha_baja = null, OUT = false, notas = "" });
                cxt.Equipos.Add(new Equipo() { Categoria = ce, Generico = true, nombre = "Guardia", fecha_baja = null, OUT = false, notas = "" });
                cxt.Equipos.Add(new Equipo() { Categoria = ce, Generico = true, nombre = "Varios Taller", fecha_baja = null, OUT = false, notas = "" });
                cxt.SaveChanges();

                Item_ingreso_egreso ingreso = new Item_ingreso_egreso() { tipo = "Ingreso", nombre = "INGRESOS", descripcion = "Representa el total de los ingresos que produce el equipo" };
                    Item_ingreso_egreso Trabajado = new Item_ingreso_egreso() { tipo = "Ingreso", nombre = "Trabajado", descripcion = "", Padre = ingreso };
                    Item_ingreso_egreso Interno = new Item_ingreso_egreso() { tipo = "Ingreso", nombre = "Interno", descripcion = "", Padre = ingreso };
                    Item_ingreso_egreso Presupuestado = new Item_ingreso_egreso() { tipo = "Ingreso", nombre = "Presupuestado", descripcion = "", Padre = ingreso };
                    Item_ingreso_egreso Impuestos = new Item_ingreso_egreso() { tipo = "Ingreso", nombre = "Impuestos", descripcion = "", Padre = ingreso };

                Item_ingreso_egreso egreso = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "EGRESOS", descripcion = "Representa el total de los egresos que produce el equipo" };
                    Item_ingreso_egreso costos_fijos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Costos Fijos", descripcion = "", Padre = egreso };
                        Item_ingreso_egreso costos_fijos_erogables = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Costos Fijos Erogables", descripcion = "", Padre = costos_fijos };
                            Item_ingreso_egreso sueldo_chofer_ponderado = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Sueldo y CS Chofer (Ponderado)", descripcion = "", Padre = costos_fijos_erogables };
                            Item_ingreso_egreso seguro_terceros = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Seguro Terceros", descripcion = "", Padre = costos_fijos_erogables };
                            Item_ingreso_egreso seguro_tecnico = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Seguro Técnico ", descripcion = "", Padre = costos_fijos_erogables };
                            Item_ingreso_egreso seguro_compartido = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Seguro Compartido", descripcion = "", Padre = costos_fijos_erogables };
                            Item_ingreso_egreso control_satelitar = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Control Satelital", descripcion = "", Padre = costos_fijos_erogables };
                            Item_ingreso_egreso bureou_veritas = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Bureau Veritas", descripcion = "", Padre = costos_fijos_erogables };
                            Item_ingreso_egreso patente = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Patente (bimestral)", descripcion = "", Padre = costos_fijos_erogables };
                        Item_ingreso_egreso costos_fijos_no_erogables = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Costos Fijos No Erogables", descripcion = "", Padre = costos_fijos };
                            Item_ingreso_egreso amortizacion = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Amortización", descripcion = "", Padre = costos_fijos_no_erogables };

                    Item_ingreso_egreso costos_variables = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Costos Variables", descripcion = "", Padre = egreso };
                        Item_ingreso_egreso repuestos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Repuestos y Reparac. FC y PP", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso combustible = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Combustible", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso combustible_playa = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Combustible Playa", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso lubricantes = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Lubricantes", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso filtros = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Filtros", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso neumaticos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Neumáticos", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso pintura = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Pintura", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso izaje = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Elem. de Izaje Individual", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso camioneta = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Gastos Camioneta Individ.", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso alquiler_auto = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Alquiler Auto", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso multas = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Multas y comisiones", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso multas_pp = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Multas y comisiones PP", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso viaticos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos FC", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso viaticos_pp = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Presupuestado", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso horas_extra = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Horas Extra Chofer", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso accesorios = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Accesorios Hs Extra 24% (1/12x2)", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso mano_obra = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Mano Obra Ayudantes", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso otros = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Otros", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso otros_insumos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Otros Insumos CF PP", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso varios = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Varios ", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso indumentaria = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Indumentaria p personal(incluye elem de protección personal)", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso telefono_celular = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Teléfono celular (abono)", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso herramientas = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Herramienta ", descripcion = "", Padre = costos_variables };
                        Item_ingreso_egreso fletes = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Fletes", descripcion = "", Padre = costos_variables };

                        Item_ingreso_egreso costos_variables_en_funcion = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Costos Variab. En Función FC", descripcion = "", Padre = costos_variables };
                            Item_ingreso_egreso elementos_de_izaje = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Elem. De Izaje General", descripcion = "", Padre = costos_variables_en_funcion };
                            Item_ingreso_egreso gastos_camioneta_general = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Gastos Camioneta General", descripcion = "", Padre = costos_variables_en_funcion };
                            Item_ingreso_egreso gastos_administracion = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Gastos Administración", descripcion = "", Padre = costos_variables_en_funcion };

                        Item_ingreso_egreso soldadores_segun_horas_hombre = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Soldadores Según Hs Hbre.", descripcion = "", Padre = costos_variables };
                            Item_ingreso_egreso mano_obra_soldadores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Mano Obra Soldadores", descripcion = "", Padre = soldadores_segun_horas_hombre };
                            Item_ingreso_egreso insumos_soldadores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Insumos Soldadores", descripcion = "", Padre = soldadores_segun_horas_hombre };
                            Item_ingreso_egreso herramientas_soldadores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Herramientas Soldadores", descripcion = "", Padre = soldadores_segun_horas_hombre };
                            Item_ingreso_egreso viaticos_soldadores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Soldadores", descripcion = "", Padre = soldadores_segun_horas_hombre };
                            Item_ingreso_egreso viaticos_pp_soldadores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Presup Soldadores", descripcion = "", Padre = soldadores_segun_horas_hombre };

                        Item_ingreso_egreso mecanicos_segun_horas_hombre = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Mecánicos Según Hs Hbre.", descripcion = "", Padre = costos_variables };
                            Item_ingreso_egreso mano_obra_mecanicos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Mano Obra Taller", descripcion = "", Padre = mecanicos_segun_horas_hombre };
                            Item_ingreso_egreso insumos_mecanicos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Insumos Taller", descripcion = "", Padre = mecanicos_segun_horas_hombre };
                            Item_ingreso_egreso herramientas_mecanicos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Herramientas Taller", descripcion = "", Padre = mecanicos_segun_horas_hombre };
                            Item_ingreso_egreso viaticos_mecanicos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Taller", descripcion = "", Padre = mecanicos_segun_horas_hombre };
                            Item_ingreso_egreso viaticos_pp_mecanicos = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Presup Taller", descripcion = "", Padre = mecanicos_segun_horas_hombre };

                        Item_ingreso_egreso pintores_segun_horas_hombre = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Pintor Según Hs Hbre.", descripcion = "", Padre = costos_variables };
                            Item_ingreso_egreso mano_obra_pintores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Mano Obra Pintor", descripcion = "", Padre = pintores_segun_horas_hombre };
                            Item_ingreso_egreso insumos_pintores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Insumos Pintor", descripcion = "", Padre = pintores_segun_horas_hombre };
                            Item_ingreso_egreso herramientas_pintores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Herramientas Pintor", descripcion = "", Padre = pintores_segun_horas_hombre };
                            Item_ingreso_egreso viaticos_pintores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Pintor", descripcion = "", Padre = pintores_segun_horas_hombre };
                            Item_ingreso_egreso viaticos_pp_pintores = new Item_ingreso_egreso() { tipo = "Egreso", nombre = "Viaticos Presup Pintor", descripcion = "", Padre = pintores_segun_horas_hombre };

                cxt.Items_ingresos_egresos.Add(ingreso);
                cxt.Items_ingresos_egresos.Add(Trabajado);
                cxt.Items_ingresos_egresos.Add(Interno);
                cxt.Items_ingresos_egresos.Add(Presupuestado);
                cxt.Items_ingresos_egresos.Add(Impuestos);
                cxt.Items_ingresos_egresos.Add(egreso);
                cxt.Items_ingresos_egresos.Add(costos_fijos);
                cxt.Items_ingresos_egresos.Add(costos_fijos_erogables);
                cxt.Items_ingresos_egresos.Add(sueldo_chofer_ponderado);
                cxt.Items_ingresos_egresos.Add(seguro_terceros);
                cxt.Items_ingresos_egresos.Add(seguro_tecnico);
                cxt.Items_ingresos_egresos.Add(seguro_compartido);
                cxt.Items_ingresos_egresos.Add(control_satelitar);
                cxt.Items_ingresos_egresos.Add(bureou_veritas);
                cxt.Items_ingresos_egresos.Add(patente);
                cxt.Items_ingresos_egresos.Add(costos_fijos_no_erogables);
                cxt.Items_ingresos_egresos.Add(amortizacion);
                cxt.Items_ingresos_egresos.Add(costos_variables);
                cxt.Items_ingresos_egresos.Add(repuestos);
                cxt.Items_ingresos_egresos.Add(combustible);
                cxt.Items_ingresos_egresos.Add(combustible_playa);
                cxt.Items_ingresos_egresos.Add(lubricantes);
                cxt.Items_ingresos_egresos.Add(filtros);
                cxt.Items_ingresos_egresos.Add(neumaticos);
                cxt.Items_ingresos_egresos.Add(pintura);
                cxt.Items_ingresos_egresos.Add(izaje);
                cxt.Items_ingresos_egresos.Add(camioneta);
                cxt.Items_ingresos_egresos.Add(alquiler_auto);
                cxt.Items_ingresos_egresos.Add(multas);
                cxt.Items_ingresos_egresos.Add(multas_pp);
                cxt.Items_ingresos_egresos.Add(viaticos);
                cxt.Items_ingresos_egresos.Add(viaticos_pp);
                cxt.Items_ingresos_egresos.Add(horas_extra);
                cxt.Items_ingresos_egresos.Add(accesorios);
                cxt.Items_ingresos_egresos.Add(mano_obra);
                cxt.Items_ingresos_egresos.Add(otros);
                cxt.Items_ingresos_egresos.Add(otros_insumos);
                cxt.Items_ingresos_egresos.Add(varios);
                cxt.Items_ingresos_egresos.Add(indumentaria);
                cxt.Items_ingresos_egresos.Add(telefono_celular);
                cxt.Items_ingresos_egresos.Add(herramientas);
                cxt.Items_ingresos_egresos.Add(fletes);
                cxt.Items_ingresos_egresos.Add(costos_variables_en_funcion);
                cxt.Items_ingresos_egresos.Add(elementos_de_izaje);
                cxt.Items_ingresos_egresos.Add(gastos_camioneta_general);
                cxt.Items_ingresos_egresos.Add(gastos_administracion);
                cxt.Items_ingresos_egresos.Add(soldadores_segun_horas_hombre);
                cxt.Items_ingresos_egresos.Add(mano_obra_soldadores);
                cxt.Items_ingresos_egresos.Add(insumos_soldadores);
                cxt.Items_ingresos_egresos.Add(herramientas_soldadores);
                cxt.Items_ingresos_egresos.Add(viaticos_soldadores);
                cxt.Items_ingresos_egresos.Add(viaticos_pp_soldadores);
                cxt.Items_ingresos_egresos.Add(mecanicos_segun_horas_hombre);
                cxt.Items_ingresos_egresos.Add(mano_obra_mecanicos);
                cxt.Items_ingresos_egresos.Add(insumos_mecanicos);
                cxt.Items_ingresos_egresos.Add(herramientas_mecanicos);
                cxt.Items_ingresos_egresos.Add(viaticos_mecanicos);
                cxt.Items_ingresos_egresos.Add(viaticos_pp_mecanicos);
                cxt.Items_ingresos_egresos.Add(pintores_segun_horas_hombre);
                cxt.Items_ingresos_egresos.Add(mano_obra_pintores);
                cxt.Items_ingresos_egresos.Add(insumos_pintores);
                cxt.Items_ingresos_egresos.Add(herramientas_pintores);
                cxt.Items_ingresos_egresos.Add(viaticos_pintores);
                cxt.Items_ingresos_egresos.Add(viaticos_pp_pintores);

                cxt.SaveChanges();
            }
        }
        protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e)
        {
            string str_id_categoria = Request.QueryString["cat"];
            string str_mes = Request.QueryString["m"];
            string str_anio = Request.QueryString["a"];

            int id_categoria = Convert.ToInt32(str_id_categoria);
            int mes = Convert.ToInt32(str_mes);
            int anio = Convert.ToInt32(str_anio);

            int id_item = Convert.ToInt32(hidden_id_item_io.Value);
            int id_detalle = Convert.ToInt32(hidden_id_item_por_eliminar.Value);

            if (hidden_equipo.Value != "Asociado a la categoria")
            {
                int id_valor_item_mes = 0;
                using (var cxt = new Model1Container())
                {
                    Detalle_valor_item_mes detalle = cxt.Detalle_valores_items_mes.First(x => x.id_detalle_valor_item_mes == id_detalle);
                    Valor_mes vm = detalle.Valor_item_mes;
                    id_valor_item_mes = vm.id;

                    Ingreso_egreso_mensual_equipo ioequipo = cxt.Ingresos_egresos_mensuales_equipos.First(x => x.id_ingreso_egreso_mensual == detalle.Valor_item_mes.id_ingreso_egreso_mensual);
                    mes = ioequipo.mes;
                    anio = ioequipo.anio;
                    cxt.Detalle_valores_items_mes.Remove(detalle);
                    cxt.SaveChanges();

                    decimal valor = vm.Detalle.Sum(x => x.monto);
                    vm.valor = valor;

                    //Accesorios hs extra
                    if (vm.Item.nombre == "Horas Extra Chofer" && vm.Item.Padre.nombre == "Costos Variables")
                    {
                        int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item;
                        Valor_mes vm_impuesto = cxt.Valores_meses.FirstOrDefault(ii => ii.id_ingreso_egreso_mensual == vm.id_ingreso_egreso_mensual && ii.id_item == id_item_impuesto);

                        Detalle_valor_item_mes detalle_impuesto = new Detalle_valor_item_mes();
                        detalle_impuesto.fecha = new DateTime(ioequipo.anio, ioequipo.mes, 1);
                        detalle_impuesto.descripcion = "Calculado automáticamente";
                        detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100));

                        if (vm_impuesto.Detalle.Count > 1)
                        {
                            vm_impuesto.Detalle.Clear();
                            cxt.SaveChanges();
                        }

                        if (vm_impuesto.Detalle.Count == 0)
                        {
                            vm_impuesto.Detalle.Add(detalle_impuesto);
                            cxt.SaveChanges();
                        }
                        else
                        {
                            vm_impuesto.Detalle.First().monto = detalle_impuesto.monto;
                            cxt.SaveChanges();
                        }
                    }
                }

            }
            else
            {
                int id_valor_item_mes = 0;
                using (var cxt = new Model1Container())
                {
                    Detalle_valor_item_mes_categoria detalle = cxt.Detalle_valor_item_meses_categoria.First(x => x.id_detalle_valor_item_mes_categoria == id_detalle);
                    Valor_mes_categoria vm = detalle.Valor_mes_categoria;
                    id_valor_item_mes = vm.id_valor_mes_categoria_item;

                    Aux_total_categoria_mes iocategoria = cxt.Aux_total_categoria_meses.First(x => x.id_aux_total_categoria_mes == detalle.Valor_mes_categoria.id_aux_total_categoria_mes);
                    mes = iocategoria.mes;
                    anio = iocategoria.anio;
                    cxt.Detalle_valor_item_meses_categoria.Remove(detalle);
                    cxt.SaveChanges();

                    decimal valor = vm.Detalle.Sum(x => x.monto);
                    vm.valor = valor;

                    //Accesorios hs extra
                    if (vm.Item_ingreso_egreso.nombre == "Horas Extra Chofer" && vm.Item_ingreso_egreso.Padre.nombre == "Costos Variables")
                    {
                        int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item;
                        Valor_mes_categoria vm_impuesto = cxt.Valor_mes_categorias.FirstOrDefault(ii => ii.id_aux_total_categoria_mes == vm.id_aux_total_categoria_mes && ii.id_item == id_item_impuesto);

                        Detalle_valor_item_mes_categoria detalle_impuesto = new Detalle_valor_item_mes_categoria();
                        detalle_impuesto.fecha = new DateTime(iocategoria.anio, iocategoria.mes, 1);
                        detalle_impuesto.descripcion = "Calculado automáticamente";
                        detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100));

                        if (vm_impuesto.Detalle.Count > 1)
                        {
                            vm_impuesto.Detalle.Clear();
                            cxt.SaveChanges();
                        }

                        if (vm_impuesto.Detalle.Count == 0)
                        {
                            vm_impuesto.Detalle.Add(detalle_impuesto);
                            cxt.SaveChanges();
                        }
                        else
                        {
                            vm_impuesto.Detalle.First().monto = detalle_impuesto.monto;
                            cxt.SaveChanges();
                        }
                    }
                }
            }

            div_alert.Visible = true;
            Ver_editar_valores_mes(id_item);
        }
        protected void btn_agregar_detalle_ServerClick(object sender, EventArgs e)
        {
            string str_id_categoria = Request.QueryString["cat"];
            string str_mes = Request.QueryString["m"];
            string str_anio = Request.QueryString["a"];

            int id_categoria = Convert.ToInt32(str_id_categoria);
            int mes = Convert.ToInt32(str_mes);
            int anio = Convert.ToInt32(str_anio);

            int id_valor_item_mes = Convert.ToInt32(hidden_id_valor_mes.Value);
            int id_detalle = Convert.ToInt32(hidden_id_detalle_01.Value);
            int id_item = Convert.ToInt32(hidden_id_item_01.Value);
            hidden_id_detalle_01.Value = "0";
            Validate();
            if (IsValid)
            {
                using (var cxt = new Model1Container())
                {
                    if (ddl_equipo.SelectedItem.Text != "Asociado a la categoria")
                    {
                        Ingreso_egreso_mensual_equipo ioequipo;
                        Valor_mes vm;
                        int idEquipo = Convert.ToInt32(ddl_equipo.SelectedItem.Value);

                        ioequipo = cxt.Ingresos_egresos_mensuales_equipos.FirstOrDefault(x => x.mes == mes && x.anio == anio && x.id_equipo == idEquipo);
                        if (ioequipo == null)
                        {
                            ioequipo = new Ingreso_egreso_mensual_equipo();
                            ioequipo.anio = anio;
                            ioequipo.mes = mes;
                            ioequipo.id_equipo = idEquipo;

                            vm = new Valor_mes();
                            vm.valor = 0;
                            vm.id_item = id_item;

                            ioequipo.Valores_meses.Add(vm);

                            cxt.Ingresos_egresos_mensuales_equipos.Add(ioequipo);

                        }
                        else
                        {
                            vm = ioequipo.Valores_meses.FirstOrDefault(x => x.id_item == id_item);
                            if (vm == null)
                            {
                                vm = new Valor_mes();
                                vm.valor = 0;
                                vm.id_item = id_item;

                                ioequipo.Valores_meses.Add(vm);
                            }
                        }

                        cxt.SaveChanges();

                        ioequipo = cxt.Ingresos_egresos_mensuales_equipos.First(x => x.mes == mes && x.anio == anio && x.id_equipo == idEquipo);
                        vm = ioequipo.Valores_meses.First(x => x.id_item == id_item);

                        if (id_detalle > 0)
                        {
                            Detalle_valor_item_mes detalle = cxt.Detalle_valores_items_mes.First(x => x.id_detalle_valor_item_mes == id_detalle);
                            detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ",").Replace("$", ""));
                            detalle.descripcion = tb_detalle_descripcion.Text;
                            detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value);
                        }
                        else
                        {
                            Detalle_valor_item_mes detalle = new Detalle_valor_item_mes();
                            detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ","));
                            detalle.descripcion = tb_detalle_descripcion.Text;
                            detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value);
                            vm.Detalle.Add(detalle);
                        }

                        decimal valor = vm.Detalle.Sum(x => x.monto);
                        vm.valor = valor;

                        Item_ingreso_egreso item = cxt.Items_ingresos_egresos.First(x => x.id_item == id_item);

                        //Accesorios hs extra
                        if (item.nombre == "Horas Extra Chofer" && item.Padre.nombre == "Costos Variables")
                        {
                            int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item;
                            Valor_mes vm_impuesto = cxt.Valores_meses.FirstOrDefault(ii => ii.id_ingreso_egreso_mensual == vm.id_ingreso_egreso_mensual && ii.id_item == id_item_impuesto);

                            vm_impuesto = new Valor_mes();
                            vm_impuesto.valor = 0;
                            vm_impuesto.id_item = id_item_impuesto;

                            ioequipo.Valores_meses.Add(vm);

                            Detalle_valor_item_mes detalle_impuesto = new Detalle_valor_item_mes();
                            detalle_impuesto.fecha = new DateTime(ioequipo.anio, ioequipo.mes, 1);
                            detalle_impuesto.descripcion = "Calculado automáticamente";
                            detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100));

                            if (vm_impuesto.Detalle.Count > 1)
                            {
                                vm_impuesto.Detalle.Clear();
                                cxt.SaveChanges();
                            }

                            if (vm_impuesto.Detalle.Count == 0)
                            {
                                vm_impuesto.Detalle.Add(detalle_impuesto);
                                cxt.SaveChanges();
                            }
                            else
                            {
                                vm_impuesto.Detalle.First().monto = detalle_impuesto.monto;
                                cxt.SaveChanges();
                            }
                        }

                        cxt.SaveChanges();
                    }
                    else
                    {
                        Aux_total_categoria_mes iocategoria;
                        Valor_mes_categoria vm;

                        iocategoria = cxt.Aux_total_categoria_meses.FirstOrDefault(x => x.mes == mes && x.anio == anio && x.id_categoria_equipo == id_categoria);
                        if (iocategoria == null)
                        {
                            iocategoria = new Aux_total_categoria_mes();
                            iocategoria.anio = anio;
                            iocategoria.mes = mes;
                            iocategoria.id_categoria_equipo = id_categoria;

                            vm = new Valor_mes_categoria();
                            vm.valor = 0;
                            vm.id_item = id_item;

                            iocategoria.Valores_mes.Add(vm);

                            cxt.Aux_total_categoria_meses.Add(iocategoria);

                        }
                        else
                        {
                            vm = iocategoria.Valores_mes.FirstOrDefault(x => x.id_item == id_item);
                            if (vm == null)
                            {
                                vm = new Valor_mes_categoria();
                                vm.valor = 0;
                                vm.id_item = id_item;

                                iocategoria.Valores_mes.Add(vm);
                            }
                        }

                        cxt.SaveChanges();

                        iocategoria = cxt.Aux_total_categoria_meses.First(x => x.mes == mes && x.anio == anio && x.id_categoria_equipo == id_categoria);
                        vm = iocategoria.Valores_mes.First(x => x.id_item == id_item);

                        if (id_detalle > 0)
                        {
                            Detalle_valor_item_mes_categoria detalle = cxt.Detalle_valor_item_meses_categoria.First(x => x.id_detalle_valor_item_mes_categoria == id_detalle);
                            detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ",").Replace("$", ""));
                            detalle.descripcion = tb_detalle_descripcion.Text;
                            detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value);
                        }
                        else
                        {
                            Detalle_valor_item_mes_categoria detalle = new Detalle_valor_item_mes_categoria();
                            detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ","));
                            detalle.descripcion = tb_detalle_descripcion.Text;
                            detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value);
                            vm.Detalle.Add(detalle);
                        }

                        decimal valor = vm.Detalle.Sum(x => x.monto);
                        vm.valor = valor;

                        Item_ingreso_egreso item = cxt.Items_ingresos_egresos.First(x => x.id_item == id_item);

                        //Accesorios hs extra
                        if (item.nombre == "Horas Extra Chofer" && item.Padre.nombre == "Costos Variables")
                        {
                            int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item;
                            Valor_mes_categoria vm_impuesto = cxt.Valor_mes_categorias.FirstOrDefault(ii => ii.id_aux_total_categoria_mes == vm.id_aux_total_categoria_mes && ii.id_item == id_item_impuesto);

                            vm_impuesto = new Valor_mes_categoria();
                            vm_impuesto.valor = 0;
                            vm_impuesto.id_item = id_item_impuesto;

                            iocategoria.Valores_mes.Add(vm);

                            Detalle_valor_item_mes_categoria detalle_impuesto = new Detalle_valor_item_mes_categoria();
                            detalle_impuesto.fecha = new DateTime(iocategoria.anio, iocategoria.mes, 1);
                            detalle_impuesto.descripcion = "Calculado automáticamente";
                            detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100));

                            if (vm_impuesto.Detalle.Count > 1)
                            {
                                vm_impuesto.Detalle.Clear();
                                cxt.SaveChanges();
                            }

                            if (vm_impuesto.Detalle.Count == 0)
                            {
                                vm_impuesto.Detalle.Add(detalle_impuesto);
                                cxt.SaveChanges();
                            }
                            else
                            {
                                vm_impuesto.Detalle.First().monto = detalle_impuesto.monto;
                                cxt.SaveChanges();
                            }
                        }

                        cxt.SaveChanges();
                    }

                    div_alert.Visible = true;
                }
            }

            lbl_texto_boton_agregar_editar.Text = "Agregar";

            Ver_editar_valores_mes(id_item);
        }
        /// <summary>
        /// Actualiza unicamente las horas 
        /// </summary>
        public static void Actualizar_horas_todos_los_resumenes_mensuales()
        {
            using (var cxt = new Model1Container())
            {
                var empleados = cxt.Empleados.Where(x=>x.Categoria.nombre == "Soldador").ToList();

                foreach (Empleado empleado in empleados)
                {
                    var resumenes_mensuales = empleado.Resumenes_meses_empleado.ToList();
                    foreach (Resumen_mes_empleado resumen_mensual in resumenes_mensuales)
                    {
                        var dias_mes = empleado.Dias.Where(x => x.fecha.Month == resumen_mensual.mes && x.fecha.Year == resumen_mensual.anio);

                        string total_horas_normales = "00:00";
                        string total_horas_extra_50 = "00:00";
                        string total_horas_extra_100 = "00:00";
                        string total_horas_ausente = "00:00";
                        string total_horas_guardia = "00:00";
                        string total_horas_varios_taller = "00:00";

                        foreach (Dia dia in dias_mes)
                        {
                            string horasTotales = "00:00";
                            string horasAusente = "00:00";
                            string horasGuardia = "00:00";
                            string horasVariosTaller = "00:00";

                            foreach (Detalle_dia item_detalle in dia.Detalles)
                            {
                                if(!item_detalle.Equipo.OUT || dia.Empleado.Categoria.nombre == "Soldador")
                                {
                                    if (item_detalle.Equipo.nombre != "Ausencia")
                                    {
                                        horasTotales = Horas_string.SumarHoras(new string[] { horasTotales, Horas_string.RestarHoras(item_detalle.hora_hasta, item_detalle.hora_desde) });

                                        if (item_detalle.Equipo.nombre == "Guardia")
                                        {
                                            if(dia.Empleado.Categoria.nombre != "Soldador")
                                            {
                                                horasGuardia = Horas_string.SumarHoras(new string[] { horasGuardia, Horas_string.RestarHoras(item_detalle.hora_hasta, item_detalle.hora_desde) });
                                            }
                                            else
                                            {
                                                horasGuardia ="00:00";
                                                horasVariosTaller = Horas_string.SumarHoras(new string[] { horasVariosTaller, Horas_string.RestarHoras(item_detalle.hora_hasta, item_detalle.hora_desde) });
                                            }
                                        }

                                        if (item_detalle.Equipo.nombre == "Varios Taller")
                                        {
                                            horasVariosTaller = Horas_string.SumarHoras(new string[] { horasVariosTaller, Horas_string.RestarHoras(item_detalle.hora_hasta, item_detalle.hora_desde) });
                                        }
                                    }
                                    else
                                    {
                                        horasAusente = Horas_string.SumarHoras(new string[] { horasAusente, Horas_string.RestarHoras(item_detalle.hora_hasta, item_detalle.hora_desde) });
                                    }
                                }
                            }

                            dia.horas_normales = ObtenerHoras(horasTotales, dia.fecha, TipoHora.Normales);
                            dia.horas_extra_50 = ObtenerHoras(horasTotales, dia.fecha, TipoHora.Extra50);
                            dia.horas_extra_100 = ObtenerHoras(horasTotales, dia.fecha, TipoHora.Extra100);
                            dia.ausente = horasAusente;
                            dia.guardia = horasGuardia;
                            dia.varios_taller = horasVariosTaller;

                            total_horas_normales = Horas_string.SumarHoras(new string[]{dia.horas_normales, total_horas_normales});
                            total_horas_extra_50 = Horas_string.SumarHoras(new string[]{dia.horas_extra_50, total_horas_extra_50});
                            total_horas_extra_100 = Horas_string.SumarHoras(new string[]{dia.horas_extra_100, total_horas_extra_100});
                            total_horas_ausente = Horas_string.SumarHoras(new string[]{dia.ausente, total_horas_ausente});
                            total_horas_guardia = Horas_string.SumarHoras(new string[]{dia.guardia, total_horas_guardia});
                            total_horas_varios_taller = Horas_string.SumarHoras(new string[]{dia.varios_taller, total_horas_varios_taller});
                        }

                        if(empleado.Categoria.nombre =="Soldador")
                        {
                            resumen_mensual.dias_out = 0;
                        }
                        resumen_mensual.total_horas_ausente = total_horas_ausente;
                        resumen_mensual.total_horas_extra_100 = total_horas_extra_100;
                        resumen_mensual.total_horas_extra_50 = total_horas_extra_50;
                        resumen_mensual.total_horas_guardia = total_horas_guardia;
                        resumen_mensual.total_horas_normales = total_horas_normales;
                        resumen_mensual.total_horas_varios_taller = total_horas_varios_taller;

                    }

                    cxt.SaveChanges();
                }
            }
        }
        protected void btn_guardar_nuevo_concepto_ServerClick(object sender, EventArgs e)
        {
            using (var cxt = new Model1Container())
            {
                try
                {
                    int id_item_padre = 0;

                    if (int.TryParse(hidden_id_padre.Value, out id_item_padre))
                    {
                        Item_ingreso_egreso padre = cxt.Items_ingresos_egresos.FirstOrDefault(ii => ii.id_item == id_item_padre);
                        if (padre != null)
                        {
                            Item_ingreso_egreso concepto_ingreso = new Item_ingreso_egreso() { id_item_padre = id_item_padre, tipo = padre.tipo, nombre = tb_nombre.Value, descripcion = tb_descripcion.Value };
                            cxt.Items_ingresos_egresos.Add(concepto_ingreso);
                            cxt.SaveChanges();

                            tb_descripcion.Value = string.Empty;
                            tb_nombre.Value = string.Empty;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, "Error", MessageBox.Tipo_MessageBox.Danger);
                }
            }

            CargarConceptos();
        }
        void boton_eliminar_ServerClick(object sender, EventArgs e)
        {
            int id_nivel = Convert.ToInt32(((System.Web.UI.HtmlControls.HtmlButton)sender).ID.Replace("btn_quitar_nivel_", ""));

            using (var cxt = new Model1Container())
            {
                Item_ingreso_egreso item_a_eliminar = cxt.Items_ingresos_egresos.FirstOrDefault(ii => ii.id_item == id_nivel);
                if (item_a_eliminar != null)
                {
                    if (item_a_eliminar.Hijos.Count > 0)
                    {
                        MessageBox.Show(this, "Debe eliminar primero los conceptos que dependen del que quiere eliminar.-", MessageBox.Tipo_MessageBox.Danger);
                    }
                    else
                    {
                        if (item_a_eliminar.Valores_mes.Count > 0)
                        {
                            MessageBox.Show(this, "El concepto ya tiene valores cargados asociados a , no se podrá eliminar", MessageBox.Tipo_MessageBox.Danger);
                        }
                        else
                        {
                            cxt.Items_ingresos_egresos.Remove(item_a_eliminar);
                            cxt.SaveChanges();
                            MessageBox.Show(this, "El concepto fue eliminado correctamente.", MessageBox.Tipo_MessageBox.Success, "Exito!", "../Aplicativo/admin_conceptos_mensuales.aspx");
                        }
                    }
                }
            }
        }