Exemple #1
0
        public ActionResult Ver(int?id, int?menu)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            encab_documento encabezado = context.encab_documento.Find(id);

            if (encabezado == null)
            {
                return(HttpNotFound());
            }

            EntradaSalidaModel modelo = new EntradaSalidaModel
            {
                TipoDocumento  = encabezado.tipo,
                BodegaOrigen   = encabezado.bodega,
                PerfilContable = encabezado.perfilcontable ?? 0,
                encabezado_id  = encabezado.idencabezado,
                Notas          = encabezado.notas
            };

            ViewBag.documentoSeleccionado = encabezado.tipo;
            ViewBag.bodegaSeleccionada    = encabezado.bodega;
            ViewBag.perfilSeleccionado    = encabezado.perfilcontable;

            icb_sysparameter buscarTipoDoc = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P44");
            int id_tipo_doc = buscarTipoDoc != null?Convert.ToInt32(buscarTipoDoc.syspar_value) : 0;

            ViewBag.tp_doc_registros = context.tp_doc_registros.Where(x => x.tipo == id_tipo_doc).ToList();
            BuscarFavoritos(menu);
            return(View(modelo));
        }
Exemple #2
0
        public ActionResult Crear(icb_sysparameter modelo, int?menu)
        {
            if (ModelState.IsValid)
            {
                icb_sysparameter buscaCodigoExiste = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == modelo.syspar_cod);
                if (buscaCodigoExiste != null)
                {
                    TempData["mensaje_error"] = "El codigo del parametro ya esta registrado";
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }

                modelo.sysparfec_creacion    = DateTime.Now;
                modelo.sysparuserid_creacion = Convert.ToInt32(Session["user_usuarioid"]);
                context.icb_sysparameter.Add(modelo);
                bool guardarParametro = context.SaveChanges() > 0;
                if (guardarParametro)
                {
                    TempData["mensaje"] = "El parametro se creo exitosamente";
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }
            }

            BuscarFavoritos(menu);
            return(View());
        }
Exemple #3
0
        public ActionResult Actualizar(int?id, int?menu)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            icb_sysparameter buscarParametoPorId = context.icb_sysparameter.FirstOrDefault(x => x.syspar_id == id);

            if (buscarParametoPorId == null)
            {
                return(HttpNotFound());
            }

            // Significa que si se encontro el id del parametro
            users creador = context.users.Find(buscarParametoPorId.sysparuserid_creacion);

            ViewBag.user_nombre_cre = creador.user_nombre + " " + creador.user_apellido;

            //consulta el nombre de usuario actualizacion con el id, lo envia a la vista a traves de ViewBag
            users modificador = context.users.Find(buscarParametoPorId.sysparuserid_actualizacion);

            if (modificador != null)
            {
                ViewBag.user_nombre_act = modificador.user_nombre + " " + modificador.user_apellido;
            }

            BuscarFavoritos(menu);
            return(View(buscarParametoPorId));
        }
Exemple #4
0
        public ActionResult signos(int idot, int autorz)
        {
            //
            icb_sysparameter ejecu = db.icb_sysparameter.Where(d => d.syspar_cod == "P79").FirstOrDefault();
            int inspeccion         = ejecu != null?Convert.ToInt32(ejecu.syspar_value) : 14;

            //ver ot existente
            tencabezaorden ot = db.tencabezaorden.Where(d => d.id == idot).FirstOrDefault();

            if (ot != null)
            {
                if (ot.fecha_inicio_inspeccion == null)
                {
                    ot.fecha_inicio_inspeccion = DateTime.Now;
                    db.Entry(ot).State         = EntityState.Modified;
                    if (ot.idcita != null)
                    {
                        //busco la cita
                        tcitastaller cita = db.tcitastaller.Where(d => d.id == ot.idcita.Value).FirstOrDefault();
                        cita.estadocita      = inspeccion;
                        db.Entry(cita).State = EntityState.Modified;
                    }

                    db.SaveChanges();
                }
            }

            ViewBag.sistemasV = sistemas(idot);
            ViewBag.otid      = idot;
            ViewBag.autorz    = autorz;
            return(PartialView("InspeccionSistemas"));
        }
Exemple #5
0
        public JsonResult BuscarTecnicos()
        {
            icb_sysparameter parametroTecnicos = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P48");
            int idTecnicos = parametroTecnicos != null?Convert.ToInt32(parametroTecnicos.syspar_value) : 0;

            var buscarTecnicos = (from usuarios in context.users
                                  join tecnicos in context.ttecnicos
                                  on usuarios.user_id equals tecnicos.idusuario into tec
                                  from tecnicos in tec.DefaultIfEmpty()
                                  join tipoTecnico in context.ttipotecnico
                                  on tecnicos.tipo_tecnico equals tipoTecnico.id into tipo
                                  from tipoTecnico in tipo.DefaultIfEmpty()
                                  where usuarios.rol_id == idTecnicos
                                  select new
            {
                usuarios.user_id,
                usuarios.user_nombre,
                usuarios.user_apellido,
                usuarios.user_numIdent,
                tipo = tipoTecnico.tipo != null ? tipoTecnico.tipo : "",
                Especializacion = tipoTecnico.Especializacion != null ? tipoTecnico.Especializacion : "",
                valorHr = tipoTecnico.valorHr != null ? tipoTecnico.valorHr : 0,
                porcentaje = tipoTecnico.porcentaje != null ? tipoTecnico.porcentaje : 0,
                contratista = tecnicos.contratista ? "Si" : "No",
                valorhora = tecnicos.valorhora != null ? tecnicos.valorhora.ToString() : "",
                porcenhora = tecnicos.porcenhora != null ? tecnicos.porcenhora.ToString() : "",
                estado = tecnicos.estado == true ? "Activo" : "Inactivo",
                valorAdicional = tecnicos.valor_adicional != null ?tecnicos.valor_adicional.ToString() : "",
            }).ToList();

            return(Json(buscarTecnicos, JsonRequestBehavior.AllowGet));
        }
Exemple #6
0
        public void ListasDesplegables(tencabcotizacion cotizacion)
        {
            icb_sysparameter idCotizacionTaller = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P47");
            int idCotizacion = idCotizacionTaller != null?Convert.ToInt32(idCotizacionTaller.syspar_value) : 0;

            ViewBag.tipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idCotizacion), "tpdoc_id",
                                             "tpdoc_nombre", cotizacion.tipodoc);

            DbSet <bodega_concesionario> bodegas = context.bodega_concesionario;

            //ViewBag.bodega = new SelectList(bodegas, "id", "bodccs_nombre",cotizacion.bodega);
            ViewBag.bodegasCotizacion = bodegas;

            var buscarClientes = (from terceros in context.icb_terceros
                                  join clientes in context.tercero_cliente
                                  on terceros.tercero_id equals clientes.tercero_id
                                  select new
            {
                terceros.tercero_id,
                nombre = "(" + terceros.doc_tercero + ") " + terceros.prinom_tercero + " " +
                         terceros.segnom_tercero + " " + terceros.apellido_tercero + " " +
                         terceros.segapellido_tercero + " " + terceros.razon_social
            }).ToList();

            ViewBag.cliente = new SelectList(buscarClientes, "tercero_id", "nombre", cotizacion.cliente);

            var buscarAsesores = (from usuarios in context.users
                                  where usuarios.rol_id == 4
                                  select new
            {
                usuarios.user_id,
                nombre = usuarios.user_nombre + " " + usuarios.user_apellido
            }).ToList();

            ViewBag.asesor = new SelectList(buscarAsesores, "user_id", "nombre", cotizacion.asesor);

            ViewBag.aseguradora    = new SelectList(context.icb_aseguradoras, "aseg_id", "nombre", cotizacion.aseguradora);
            ViewBag.tipocotizacion =
                new SelectList(context.ttipocotizacion, "id", "descripcion", cotizacion.tipocotizacion);

            DbSet <ttempario> tempario = context.ttempario;

            ViewBag.selectOperacionManoObra = new SelectList(tempario, "id", "operacion");
            ViewBag.selectOperacionToT      = new SelectList(tempario, "id", "operacion");

            ViewBag.selectReferencia = new SelectList(context.icb_referencia.Where(x => x.modulo == "R"), "ref_codigo",
                                                      "ref_descripcion");

            var buscarProveedores = (from terceros in context.icb_terceros
                                     join proveedor in context.tercero_proveedor
                                     on terceros.tercero_id equals proveedor.tercero_id
                                     select new
            {
                proveedor.prtercero_id,
                nombre = terceros.prinom_tercero + " " + terceros.segnom_tercero + " " + terceros.apellido_tercero +
                         " " + terceros.segapellido_tercero
            }).ToList();

            ViewBag.selectProveedorToT = new SelectList(buscarProveedores, "prtercero_id", "nombre");
        }
Exemple #7
0
        public ActionResult Actualizar(icb_sysparameter modelo, int?menu)
        {
            if (ModelState.IsValid)
            {
                icb_sysparameter buscaCodigoYValor = context.icb_sysparameter.FirstOrDefault(x =>
                                                                                             x.syspar_cod == modelo.syspar_cod && x.syspar_id == modelo.syspar_id);
                if (buscaCodigoYValor != null)
                {
                    string descAnteriorNueva  = buscaCodigoYValor.syspar_description + "|" + modelo.syspar_description;
                    string valorAnteriorNuevo = buscaCodigoYValor.syspar_value + "|" + modelo.syspar_value;

                    buscaCodigoYValor.syspar_cod                 = modelo.syspar_cod;
                    buscaCodigoYValor.syspar_value               = modelo.syspar_value;
                    buscaCodigoYValor.syspar_description         = modelo.syspar_description;
                    buscaCodigoYValor.syspar_estado              = modelo.syspar_estado;
                    buscaCodigoYValor.sysparrazoninactivo        = modelo.sysparrazoninactivo;
                    buscaCodigoYValor.sysparuserid_actualizacion = Convert.ToInt32(Session["user_usuarioid"]);
                    buscaCodigoYValor.sysparfec_actualizacion    = DateTime.Now;
                    context.Entry(buscaCodigoYValor).State       = EntityState.Modified;
                    bool guardarParametro = context.SaveChanges() > 0;

                    context.icb_sysparameter_log.Add(new icb_sysparameter_log
                    {
                        paramlog_fecha       = DateTime.Now,
                        paramlog_usuario     = Convert.ToInt32(Session["user_usuarioid"]),
                        paramlog_descripcion = descAnteriorNueva,
                        paramlog_valor       = valorAnteriorNuevo
                    });


                    bool guardarLog = context.SaveChanges() > 0;
                    modelo.sysparuserid_actualizacion = buscaCodigoYValor.sysparuserid_actualizacion;
                    modelo.sysparfec_actualizacion    = buscaCodigoYValor.sysparfec_actualizacion;
                    if (guardarParametro && guardarLog)
                    {
                        ConsultaDatosCreacion(modelo);
                        TempData["mensaje"] = "El parametro ha sido actualizado correctamente";
                        BuscarFavoritos(menu);
                        return(View(modelo));
                    }

                    ConsultaDatosCreacion(modelo);
                    TempData["mensaje_error"] = "Error de conexion, intente mas tarde";
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }

                ConsultaDatosCreacion(modelo);
                TempData["mensaje_error"] = "El codigo que ingreso ya se encuentra registrado";
                BuscarFavoritos(menu);
                return(View(modelo));
            }

            ConsultaDatosCreacion(modelo);
            BuscarFavoritos(menu);
            return(View(modelo));
        }
Exemple #8
0
        // GET: parametros_sistema
        public ActionResult Crear(int?menu)
        {
            icb_sysparameter parametro = new icb_sysparameter {
                syspar_estado = true
            };

            //var buscarParametros = context.icb_sysparameter.ToList();
            //ViewBag.datosTabla = buscarParametros;
            BuscarFavoritos(menu);
            return(View(parametro));
        }
Exemple #9
0
        public ActionResult TiempoConsultas(int?menu)
        {
            BuscarFavoritos(menu);
            ViewBag.parametroDias = new SelectList(context.diaspaginacion, "id", "Descripcion");
            icb_sysparameter idParametroDias = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P54");

            ViewBag.idDiasSeleccionado = idParametroDias != null ? idParametroDias.syspar_value : "";
            return(View(new diaspaginacion {
                estado = true
            }));
        }
Exemple #10
0
        public ActionResult Edit(int?id, int?menu)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            int       id_user = id ?? 0;
            ttecnicos tecnico = context.ttecnicos.FirstOrDefault(x => x.idusuario == id_user);

            if (tecnico == null)
            {
                users buscarUsuario = context.users.FirstOrDefault(x => x.user_id == id_user);
                if (buscarUsuario != null)
                {
                    tecnico = new ttecnicos {
                        idusuario = id_user
                    };
                }
                else
                {
                    return(HttpNotFound());
                }
            }

            icb_sysparameter parametroTecnicos = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P48");
            int idTecnicos = parametroTecnicos != null?Convert.ToInt32(parametroTecnicos.syspar_value) : 0;

            var buscarUsuarios = (from usuarios in context.users
                                  where usuarios.rol_id == idTecnicos
                                  select new
            {
                usuarios.user_id,
                nombres = usuarios.user_nombre + " " + usuarios.user_apellido
            }).ToList();

            ViewBag.idusuario = new SelectList(buscarUsuarios, "user_id", "nombres", tecnico.idusuario);


            var tipoTecnico = (from t in context.ttipotecnico
                               select new
            {
                t.id,
                tipo = t.tipo + "-" + t.Especializacion,
            }).ToList();

            ViewBag.tipo_tecnico = new SelectList(tipoTecnico, "id", "tipo", tecnico.tipo_tecnico);


            ConsultaDatosCreacion(tecnico);
            BuscarFavoritos(menu);
            return(View(tecnico));
        }
Exemple #11
0
        public ActionResult envio_improntas(IngresoVhModel modelo, int?menu)
        {
            string listVin = Request["listVin"];

            string[] exploded = listVin.Split('|');

            foreach (string item in exploded)
            {
                if (item != "")
                {
                    int          id       = Convert.ToInt32(item);
                    icb_vehiculo buscaVin = context.icb_vehiculo.FirstOrDefault(x => x.icbvh_id == id);
                    if (buscaVin != null)
                    {
                        buscaVin.icbvh_fec_envioimpronta = DateTime.Now;
                        context.Entry(buscaVin).State    = EntityState.Modified;
                    }

                    bool result = context.SaveChanges() > 0;
                    if (result)
                    {
                        TempData["mensaje"] = "El envio de impronta fue exitoso!";

                        icb_sysparameter buscarParametroTpEvento =
                            context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P15");
                        string tpEventoParametro =
                            buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "5";

                        context.icb_vehiculo_eventos.Add(new icb_vehiculo_eventos
                        {
                            eventofec_creacion    = DateTime.Now,
                            eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]),
                            evento_nombre         = "Envio Impronta",
                            evento_estado         = true,
                            evento_observacion    = "Se realiza envio de impronta",
                            //id_vehiculo = id,
                            vin         = buscaVin.vin,
                            bodega_id   = Convert.ToInt32(buscaVin.icbvh_bodpro),
                            id_tpevento = Convert.ToInt32(tpEventoParametro)
                        });
                        context.SaveChanges();
                    }
                    else
                    {
                        TempData["mensaje_error"] = "Error de conexion, intente mas tarde!";
                    }
                }
            }

            BuscarFavoritos(menu);
            return(View());
        }
Exemple #12
0
        public JsonResult TraeIva(int?nit)
        {
            icb_sysparameter  trae  = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P70");
            tercero_proveedor SiIva = context.tercero_proveedor.Where(x => x.tercero_id == nit && x.exentoiva).FirstOrDefault();

            if (SiIva != null)
            {
                return(Json(0, JsonRequestBehavior.AllowGet));
            }

            return(Json(trae, JsonRequestBehavior.AllowGet));
            //var trae = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P70");
            //return Json(trae, JsonRequestBehavior.AllowGet);
        }
Exemple #13
0
        // GET: chequePosfechado
        public ActionResult Create(int?menu)
        {
            ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion");

            icb_sysparameter buscarParametroTpDoc = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P49");
            string           idTipoDocPosfechados = buscarParametroTpDoc != null ? buscarParametroTpDoc.syspar_value : "0";
            int idDocPosfechados = Convert.ToInt32(idTipoDocPosfechados);

            ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                               "tpdoc_id", "tpdoc_nombre");
            ViewBag.perfilSeleccionado = 0;
            BuscarFavoritos(menu);
            return(View());
        }
Exemple #14
0
        public void ConsultaDatosCreacion(icb_sysparameter modelo)
        {
            //consulta el nombre de usuario creacion con el id, lo envia a la vista a traves de ViewBag
            users creator = context.users.Find(modelo.sysparuserid_creacion);

            ViewBag.user_nombre_cre = creator.user_nombre + " " + creator.user_apellido;

            users modificator = context.users.Find(modelo.sysparuserid_actualizacion);

            if (modificator != null)
            {
                ViewBag.user_nombre_act = modificator.user_nombre + " " + modificator.user_apellido;
                ViewBag.user_fec_act    = modificator.userfec_actualizacion.ToString();
            }
        }
Exemple #15
0
        public void ListasDesplegables()
        {
            icb_sysparameter buscarTipoDoc = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P44");
            int id_tipo_doc = buscarTipoDoc != null?Convert.ToInt32(buscarTipoDoc.syspar_value) : 0;

            ViewBag.tp_doc_registros = context.tp_doc_registros.Where(x => x.tipo == id_tipo_doc).ToList();

            //var buscarReferencias = context.icb_referencia.Where(x => x.modulo == "R").ToList();
            //List<SelectListItem> items = new List<SelectListItem>();
            //foreach (var item in buscarReferencias)
            //{
            //    var nombre = "(" + item.ref_codigo + ") " + item.ref_descripcion;
            //    items.Add(new SelectListItem() { Text = nombre, Value = item.ref_codigo });
            //}
            //ViewBag.Referencia = new SelectList(items, "Value", "Text");
        }
Exemple #16
0
        public ActionResult toma_improntas(IngresoVhModel modelo, int?menu)
        {
            icb_vehiculo buscaVin = context.icb_vehiculo.FirstOrDefault(x => x.vin == modelo.vin);

            if (buscaVin != null)
            {
                icb_sysparameter buscarParametroStatus = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P7");
                string           statusParametro       = buscarParametroStatus != null ? buscarParametroStatus.syspar_value : "6";

                icb_sysparameter buscarParametroTpEvento = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P13");
                string           tpEventoParametro       = buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "3";

                buscaVin.icbvh_estatus = statusParametro;
                buscaVin.id_evento     = Convert.ToInt32(tpEventoParametro);
                //buscaVin.id_bod = buscaVin.icbvh_bodpro;
                buscaVin.icbvh_fec_impronta   = DateTime.Now;
                context.Entry(buscaVin).State = EntityState.Modified;
                bool result = context.SaveChanges() > 0;
                if (result)
                {
                    TempData["mensaje"] = "La toma de impronta fue exitoso!";
                    context.icb_vehiculo_eventos.Add(new icb_vehiculo_eventos
                    {
                        eventofec_creacion    = DateTime.Now,
                        eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]),
                        evento_nombre         = "Toma Impronta",
                        evento_estado         = true,
                        //id_vehiculo = modelo.icbvh_id,
                        vin         = modelo.vin,
                        bodega_id   = Convert.ToInt32(buscaVin.icbvh_bodpro),
                        id_tpevento = Convert.ToInt32(tpEventoParametro)
                    });
                    context.SaveChanges();
                }
                else
                {
                    TempData["mensaje_error"] = "Error de conexion, intente mas tarde!";
                }
            }
            else
            {
                TempData["mensaje_error"] = "No se encontro el numero de vin, verifique o intente mas tarde!";
            }

            BuscarFavoritos(menu);
            return(View());
        }
Exemple #17
0
        public ActionResult AsignarParametro(int?menu)
        {
            int id_tablaDias = Convert.ToInt32(Request["parametroDias"]);
            icb_sysparameter parametroDias = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P54");

            if (parametroDias != null)
            {
                parametroDias.syspar_value         = id_tablaDias.ToString();
                context.Entry(parametroDias).State = EntityState.Modified;
                context.SaveChanges();
                TempData["mensaje"] = "Se asignó el parametro correctamente!";
            }
            else
            {
                TempData["mensaje_error"] = "No existe un parametro establecido para guardar este valor!";
            }

            return(RedirectToAction("TiempoConsultas", new { menu }));
        }
Exemple #18
0
        public JsonResult BuscarSubeCostoReferencias()
        {
            icb_sysparameter tipoDocSalidasRepuestos = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P43");
            int id_tipo_documento = tipoDocSalidasRepuestos != null
                ? Convert.ToInt32(tipoDocSalidasRepuestos.syspar_value)
                : 0;

            var buscarTraslados = (from encabezado in context.encab_documento
                                   join origen in context.bodega_concesionario
                                   on encabezado.bodega equals origen.id into ori
                                   from origen in ori.DefaultIfEmpty()
                                   where encabezado.tipo == id_tipo_documento
                                   select new
            {
                encabezado.idencabezado,
                encabezado.numero,
                encabezado.fecha,
                origen = origen.bodccs_nombre,
                referencias = (from lineas in context.lineas_documento
                               join referencia in context.icb_referencia
                               on lineas.codigo equals referencia.ref_codigo
                               where lineas.id_encabezado == encabezado.idencabezado
                               select new
                {
                    lineas.seq,
                    lineas.cantidad,
                    referencia.ref_descripcion
                }).Distinct().ToList()
            }).ToList();

            var data = buscarTraslados.Select(x => new
            {
                x.idencabezado,
                x.numero,
                fecha = x.fecha.ToShortDateString(),
                x.origen,
                x.referencias
            }).ToList();

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
Exemple #19
0
        public ActionResult TiempoConsultas(diaspaginacion modelo, int?menu)
        {
            if (ModelState.IsValid)
            {
                diaspaginacion buscarNombre =
                    context.diaspaginacion.FirstOrDefault(x =>
                                                          x.Descripcion == modelo.Descripcion || x.dias == modelo.dias);
                if (buscarNombre != null)
                {
                    TempData["mensaje_error"] = "El nombre del parametro o el numero de dias ya esta registrado!";
                }
                else
                {
                    modelo.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]);
                    modelo.fec_creacion    = DateTime.Now;
                    context.diaspaginacion.Add(modelo);
                    int guardar = context.SaveChanges();
                    if (guardar > 0)
                    {
                        TempData["mensaje"] = "El registro del parametro de días se guardo exitosamente!";
                        BuscarFavoritos(menu);
                        ViewBag.parametroDias = new SelectList(context.diaspaginacion, "id", "Descripcion");
                        return(RedirectToAction("TiempoConsultas", new { menu }));
                    }

                    TempData["mensaje_error"] = "Error con base de datos, revise su conexion!";
                }
            }

            BuscarFavoritos(menu);
            ViewBag.parametroDias = new SelectList(context.diaspaginacion, "id", "Descripcion");
            icb_sysparameter idParametroDias = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P54");

            ViewBag.idDiasSeleccionado = idParametroDias != null ? idParametroDias.syspar_value : "";
            return(View(modelo));
        }
Exemple #20
0
        public JsonResult AgregarInspeccionIndividual(int idVehiculo, decimal ccaBateria, decimal voltajeBateria,
                                                      decimal ccaTomado, int idTomaBateria, int idBodega)
        {
            string observacion = "CCA Bateria = " + ccaBateria + " , Voltaje Bateria = " + voltajeBateria +
                                 " ,CCA Tomado = " + ccaTomado;
            icb_vehiculo buscaVehiculo = context.icb_vehiculo.FirstOrDefault(x => x.icbvh_id == idVehiculo);
            bool         result        = false;

            if (buscaVehiculo != null)
            {
                icb_sysparameter buscarParametroTpEvento = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P12");
                string           tpEventoParametro       = buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "6";

                context.icb_vehiculo_eventos.Add(new icb_vehiculo_eventos
                {
                    eventofec_creacion    = DateTime.Now,
                    eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]),
                    evento_nombre         = "Toma Bateria",
                    evento_estado         = true,
                    //id_vehiculo = idVehiculo,
                    vin                = buscaVehiculo.vin,
                    bodega_id          = idBodega,
                    id_tpevento        = Convert.ToInt32(tpEventoParametro),
                    evento_observacion = observacion
                });
                result = context.SaveChanges() > 0;
                if (result)
                {
                    buscaVehiculo.icbvh_fecing_bateria = DateTime.Now;
                    context.Entry(buscaVehiculo).State = EntityState.Modified;
                    context.SaveChanges();
                }
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Exemple #21
0
        public ActionResult generaPdf_boleto(int tipodoc, int?numero, int?bodega, int nit, int idencab)
        {
            #region Empresa

            var empresa = (from e in db.encab_documento
                           join b in db.bodega_concesionario
                           on e.bodega equals b.id
                           join emp in db.tablaempresa
                           on b.concesionarioid equals emp.id
                           where e.idencabezado == idencab
                           select new
            {
                emp.nombre_empresa,
                emp.nit,
                emp.direccion,
                emp.estado,
                emp.telefono
            }).FirstOrDefault();

            #endregion

            #region Asesor

            int usuario = Convert.ToInt32(Session["user_usuarioid"]);

            var asesor = (from u in db.users
                          where u.user_id == usuario
                          select new
            {
                nombre = u.user_nombre + " " + u.user_apellido
            }).FirstOrDefault();

            #endregion

            #region Cabecera

            var encab = (from enc in db.encab_documento
                         where enc.idencabezado == idencab
                         select new
            {
                enc.numero,
                enc.fecha,
                enc.vencimiento,
                enc.valor_total,
                enc.valor_aplicado,
                enc.documento
            }).FirstOrDefault();

            #endregion

            #region Cliente

            var tercero = (from ter in db.icb_terceros
                           where ter.tercero_id == nit
                           select new
            {
                nombreCliente = ter.tpdoc_id == 2
                                   ? "(" + ter.doc_tercero + ") " + ter.prinom_tercero + " " + ter.segnom_tercero + " " +
                                ter.apellido_tercero + " " + ter.segapellido_tercero
                                   : "(" + ter.doc_tercero + ") " + ter.razon_social,
                ter.telf_tercero,
                ter.celular_tercero,
                ter.email_tercero
            }).FirstOrDefault();
            var dircliente = (from te in db.terceros_direcciones
                              where te.idtercero == nit
                              select new
            {
                te.direccion
            }).ToList();
            string dircli = dircliente.Max(c => c.direccion);

            #endregion

            var abonos = (from a in db.encab_documento
                          join b in db.tp_doc_registros
                          on a.tipo equals b.tpdoc_id
                          join c in db.cruce_documentos
                          on new { x1 = a.tipo, x2 = a.numero } equals new { x1 = c.idtipoaplica, x2 = c.numeroaplica } into cs
                          from c in cs.DefaultIfEmpty()
                          join d in db.tp_doc_registros
                          on c.idtipo equals d.tpdoc_id
                          where a.nit == nit && a.idencabezado == idencab
                          select new
            {
                a.nit,
                tdoc = "(" + d.prefijo + ") " + d.tpdoc_nombre,
                a.numero,
                c.numeroaplica,
                a.tipo,
                c.idtipoaplica,
                c.fecha,
                c.fechacruce,
                c.valor,
                a.valor_aplicado,
                a.valor_total
            }).ToList();
            List <AbonosBoleto> listaAbonos = abonos.Select(c => new AbonosBoleto
            {
                descripcion_abono = c.tdoc,
                monto_abono       = c.valor.ToString("N2", miCultura),
                monto_abonodeci   = c.valor

                                    //descripcion_accesorio = c.referencia,
                                    //cant_acccesorio = c.cantidad != null ? c.cantidad.Value.ToString("N0") : "",
                                    //val_unitario_accesorio = c.vrunitario != null ? c.vrunitario.Value.ToString("N2") : "",
                                    //val_monto_accesorio = c.vrtotal != null ? c.vrtotal.Value.ToString("N2") : ""
            }).ToList();

            var infopedido = (from enc in db.encab_documento
                              join ped in db.vpedido
                              on enc.id_pedido_vehiculo equals ped.id
                              join vehm in db.modelo_vehiculo
                              on ped.modelo equals vehm.modvh_codigo
                              join vehi in db.icb_vehiculo
                              on ped.planmayor equals vehi.plan_mayor into ep
                              from vehi in ep.DefaultIfEmpty()
                              where enc.idencabezado == idencab
                              select new
            {
                ped.cargomatricula,
                ped.planmayor,
                ped.valorPoliza,
                ped.valormatricula,
                vehm.modvh_nombre,
                vehi.plac_vh,
                vehi.vin,
            }).FirstOrDefault();

            var infpago = (from enc in db.encab_documento
                           join pedfp in db.vpedpago
                           on enc.id_pedido_vehiculo equals pedfp.idpedido into fp
                           from pedfp in fp.DefaultIfEmpty()
                           where enc.idencabezado == idencab && pedfp.condicion == 9
                           select new
            {
                pedfp.valor
            }).FirstOrDefault();

            #region Lista de Accesorios

            var data2 = (from enc2 in db.encab_documento
                         join ped2 in db.vpedido
                         on enc2.id_pedido_vehiculo equals ped2.id
                         join acce in db.vpedrepuestos
                         on ped2.id equals acce.pedido_id
                         where enc2.tipo == 4 && enc2.idencabezado == idencab
                         select new
            {
                acce.numfactura,
                acce.referencia,
                acce.cantidad,
                acce.vrunitario,
                acce.vrtotal
            }).ToList();
            List <AccesoriosBoleto> listaAccesorio = data2.Select(c => new AccesoriosBoleto
            {
                id_accesorio_modelo     = c.numfactura,
                descripcion_accesorio   = c.referencia,
                cant_acccesorio         = c.cantidad != null ? c.cantidad.Value.ToString("N0") : "0",
                val_unitario_accesorio  = c.vrunitario != null ? c.vrunitario.Value.ToString("N2") : "0",
                val_monto_accesorio     = c.vrtotal != null ? c.vrtotal.Value.ToString("N2") : "0",
                val_monto_accesoriodeci = c.vrtotal != null ? c.vrtotal.Value:0,
            }).ToList();

            #endregion

            var financiera = (from enc2 in db.encab_documento
                              join ped2 in db.vpedpago
                              on enc2.id_pedido_vehiculo equals ped2.idpedido
                              join fin in db.icb_unidad_financiera
                              on ped2.banco equals fin.financiera_id
                              where ped2.condicion == 4 && enc2.idencabezado == idencab
                              select new
            {
                ped2.valor,
                fin.financiera_nombre
            }).FirstOrDefault();

            var retoma = (from enc2 in db.encab_documento
                          join reto in db.vpedretoma
                          on enc2.id_pedido_vehiculo equals reto.pedido_id
                          where enc2.idencabezado == idencab
                          select new
            {
                reto.valor,
                retoma = "(" + reto.placa + ") " + reto.modelo + " (" + reto.kilometraje + ")"
            }).FirstOrDefault();

            string root    = Server.MapPath("~/Pdf/");
            string pdfname = string.Format("{0}.pdf", Guid.NewGuid().ToString());
            string path    = Path.Combine(root, pdfname);
            path = Path.GetFullPath(path);
            CultureInfo elGR = CultureInfo.CreateSpecificCulture("el-GR");


            string finan = financiera != null
                ? financiera.financiera_nombre != null ? financiera.financiera_nombre : ""
                : "";
            decimal?finanmonto = financiera != null ? financiera.valor != null ? financiera.valor : 0 : 0;

            string  nomretom  = retoma != null ? retoma.retoma != null ? retoma.retoma : "" : "";
            decimal?valretoma = retoma != null ? retoma.valor != null ? retoma.valor : 0 : 0;

            decimal?valipoliza = infopedido != null ? infopedido.valorPoliza != null ? infopedido.valorPoliza : 0 : 0;

            decimal?valimatricula =
                infopedido != null ? infopedido.valormatricula != null ? infopedido.valormatricula : 0 : 0;

            string modelo = infopedido != null ? infopedido.modvh_nombre != null ? infopedido.modvh_nombre : "" : "";

            string placa = infopedido != null ? infopedido.plac_vh != null ? infopedido.plac_vh : "" : "";

            string vin = infopedido != null ? infopedido.vin != null ? infopedido.vin : "" : "";

            decimal?valCuotaIni    = infpago != null ? infpago.valor != null ? infpago.valor : 0 : 0;
            decimal sumaAccesorios = 0;
            if (listaAccesorio.Count > 0)
            {
                sumaAccesorios =
                    listaAccesorio.Sum(vb => vb.val_monto_accesoriodeci) > 0
                       ? listaAccesorio.Sum(vb => vb.val_monto_accesoriodeci)
                       : 0;
            }


            decimal SumaAbono = 0;
            if (listaAbonos.Count > 0)
            {
                SumaAbono = listaAbonos.Sum(vb => vb.monto_abonodeci) > 0
                ? listaAbonos.Sum(vb => vb.monto_abonodeci)
                : 0;
            }

            //var tcargos = (encab.valor_total + infopedido.valormatricula + infopedido.valorPoliza + Convert.ToDecimal(listaAccesorio.Sum(vb => (Convert.ToDecimal(vb.val_monto_accesorio)))));
            decimal?tcargos = encab.valor_total + valimatricula + valipoliza + sumaAccesorios;
            //var tabonos = (infopedido.valor + finanmonto + valretoma + Convert.ToDecimal(listaAbonos.Sum(vb => (Convert.ToDecimal(vb.monto_abono)))));
            //var tabonos = (valCuotaIni + finanmonto + valretoma + SumaAbono);
            decimal tabonos       = SumaAbono;
            decimal?saldopediente = tcargos - tabonos;
            decimal?devolucion    = tabonos > tcargos ? tabonos - tcargos : 0;



            icb_sysparameter paranc = db.icb_sysparameter.Where(d => d.syspar_cod == "P125").FirstOrDefault();
            int idNc = paranc != null?Convert.ToInt32(paranc.syspar_value) : 16;

            icb_sysparameter pararc = db.icb_sysparameter.Where(d => d.syspar_cod == "P126").FirstOrDefault();
            int idRc = pararc != null?Convert.ToInt32(pararc.syspar_value) : 20;

            icb_sysparameter swND = db.icb_sysparameter.Where(d => d.syspar_cod == "P128").FirstOrDefault();
            int swND2             = swND != null?Convert.ToInt32(swND.syspar_value) : 1013;

            icb_sysparameter swF = db.icb_sysparameter.Where(d => d.syspar_cod == "P129").FirstOrDefault();
            int swF2             = swF != null?Convert.ToInt32(swF.syspar_value) : 3;



            PDF_ModeloBoletosalida obj = new PDF_ModeloBoletosalida
            {
                nombreEmpre      = empresa.nombre_empresa,
                nitEmpre         = empresa.nit,
                dirEmpre         = empresa.direccion,
                titulo           = "Boleta de Salida",
                fecha            = DateTime.Now.ToString("yyyy/MM/dd"),
                factura          = encab.numero.ToString(),
                cliente          = tercero.nombreCliente,
                asesor           = asesor.nombre,
                vehiculo_frand   = encab.documento,
                vehiculo_valor   = encab.valor_total.ToString("N2", miCultura),
                accesoriosboleto = listaAccesorio,
                veh_modelo       = modelo,
                placa            = placa,
                serVeh           = vin,
                matricula_frand  = infopedido.cargomatricula != null
                    ? infopedido.cargomatricula.Value.ToString("N0", new CultureInfo("is-IS"))
                    : "",
                matricula_valor = infopedido.valormatricula != null
                    ? infopedido.valormatricula.Value.ToString("N2", new CultureInfo("is-IS"))
                    : "",
                //soat_frand =
                //soat_valor =
                poliza_frand = "",
                poliza_valor = infopedido.valorPoliza != null
                    ? infopedido.valorPoliza.Value.ToString("N2", new CultureInfo("is-IS"))
                    : "",

                abonosboleto = listaAbonos,

                cuota_inicial_valor =
                    valCuotaIni != null?valCuotaIni.Value.ToString("N2", new CultureInfo("is-IS")) : "",

                        financiera        = finan,
                        finanaciera_valor = finanmonto.Value.ToString("N2", new CultureInfo("is-IS")),

                        retoma       = nomretom,
                        retoma_valor = valretoma.Value.ToString("N2", new CultureInfo("is-IS")),


                        //finanaciera_valor =

                        total_cargos = tcargos.Value.ToString("N2", new CultureInfo("is-IS")),
                        total_abonos = tabonos.ToString("N2", new CultureInfo("is-IS")),


                        saldo_pendiente  = saldopediente.Value.ToString("N2", new CultureInfo("is-IS")),
                        saldo_devolucion = devolucion.Value.ToString("N2", new CultureInfo("is-IS"))
            };


            ViewAsPdf something = new ViewAsPdf("generaPdf_boleto", obj);
            return(something);
            // return View(); // solo mientras esta en espera
        }
Exemple #22
0
        public ActionResult Create(documentos_posfechados modelo, int?menu)
        {
            int idtipodoc = Convert.ToInt32(Request["idtipodoc"]);

            ViewBag.txtNitCliente      = Request["txtNitCliente"];
            ViewBag.perfilSeleccionado = Convert.ToInt32(Request["idperfil"]);

            icb_sysparameter buscarParametroTpDoc = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P49");
            string           idTipoDocPosfechados = buscarParametroTpDoc != null ? buscarParametroTpDoc.syspar_value : "0";
            int idDocPosfechados = Convert.ToInt32(idTipoDocPosfechados);

            if (ModelState.IsValid)
            {
                long numeroConsecutivo = 0;
                int  anioActual        = DateTime.Now.Year;
                int  mesActual         = DateTime.Now.Month;
                int  bodegaActual      = Convert.ToInt32(Session["user_bodega"]);
                icb_doc_consecutivos numeroConsecutivoAux = context.icb_doc_consecutivos.OrderByDescending(x => x.doccons_ano)
                                                            .FirstOrDefault(x => x.doccons_idtpdoc == idtipodoc && x.doccons_bodega == bodegaActual);
                grupoconsecutivos grupoConsecutivo =
                    context.grupoconsecutivos.FirstOrDefault(x =>
                                                             x.documento_id == idtipodoc && x.bodega_id == bodegaActual);
                if (numeroConsecutivoAux != null)
                {
                    if (numeroConsecutivoAux.doccons_requiere_mes)
                    {
                        if (numeroConsecutivoAux.doccons_mes != mesActual)
                        {
                            // Requiere mes pero no hay consecutivo para el anio actual
                            TempData["mensaje_error"] =
                                "No existe un numero consecutivo asignado para este tipo de documento en el mes actual que es requerido";
                            ViewBag.banco = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);

                            ViewBag.idtipodoc =
                                new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                               "tpdoc_id", "tpdoc_nombre", idtipodoc);
                            TempData["modelo_invalido"] = "modelo_invalido";
                            BuscarFavoritos(menu);
                            return(View(modelo));
                        }

                        //requiereAnio = true;
                        numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente;
                    }
                    else if (numeroConsecutivoAux.doccons_requiere_anio)
                    {
                        if (numeroConsecutivoAux.doccons_ano != anioActual)
                        {
                            // Requiere anio pero no hay consecutivo para el anio actual
                            TempData["mensaje_error"] =
                                "No existe un numero consecutivo asignado para este tipo de documento en el año actual que es requerido";
                            ViewBag.banco     = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);
                            ViewBag.idtipodoc =
                                new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                               "tpdoc_id", "tpdoc_nombre", idtipodoc);
                            TempData["modelo_invalido"] = "modelo_invalido";
                            BuscarFavoritos(menu);
                            return(View(modelo));
                        }

                        numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente;
                    }
                    else
                    {
                        numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente;
                    }
                }
                else
                {
                    TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento";
                    ViewBag.banco             = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);
                    ViewBag.idtipodoc         = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                                               "tpdoc_id", "tpdoc_nombre", idtipodoc);
                    TempData["modelo_invalido"] = "modelo_invalido";
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }

                // Si llega hasta aqui significa que si existe un numero consecutivo para el documento en la bodega actual.

                var parametrosCuentasVerificar = (from perfil in context.perfil_cuentas_documento
                                                  join nombreParametro in context.paramcontablenombres
                                                  on perfil.id_nombre_parametro equals nombreParametro.id
                                                  join cuenta in context.cuenta_puc
                                                  on perfil.cuenta equals cuenta.cntpuc_id
                                                  where perfil.id_perfil == modelo.idperfil
                                                  select new
                {
                    perfil.id,
                    perfil.id_nombre_parametro,
                    perfil.cuenta,
                    perfil.centro,
                    perfil.id_perfil,
                    nombreParametro.descripcion_parametro,
                    cuenta.cntpuc_numero
                }).ToList();

                List <DocumentoDescuadradoModel> listaDescuadrados = new List <DocumentoDescuadradoModel>();
                decimal calcularDebito  = 0;
                decimal calcularCredito = 0;

                foreach (var parametro in parametrosCuentasVerificar)
                {
                    //var tipoParametro = 0;

                    cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta);
                    if (buscarCuenta != null)
                    {
                        if (parametro.id_nombre_parametro == 15)
                        {
                            if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                            {
                                calcularDebito += modelo.Valor;
                                listaDescuadrados.Add(new DocumentoDescuadradoModel
                                {
                                    NumeroCuenta         = parametro.cntpuc_numero,
                                    DescripcionParametro = parametro.descripcion_parametro,
                                    ValorDebito          = modelo.Valor,
                                    ValorCredito         = 0
                                });
                            }

                            if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                            {
                                calcularCredito += modelo.Valor;
                                listaDescuadrados.Add(new DocumentoDescuadradoModel
                                {
                                    NumeroCuenta         = parametro.cntpuc_numero,
                                    DescripcionParametro = parametro.descripcion_parametro,
                                    ValorDebito          = 0,
                                    ValorCredito         = modelo.Valor
                                });
                            }
                        }
                        else
                        {
                            listaDescuadrados.Add(new DocumentoDescuadradoModel
                            {
                                NumeroCuenta         = parametro.cntpuc_numero,
                                DescripcionParametro = parametro.descripcion_parametro,
                                ValorDebito          = 0,
                                ValorCredito         = 0
                            });
                            TempData["documento_descuadrado"] =
                                "El documento no tiene los movimientos calculados correctamente";
                            ViewBag.documentoDescuadrado = listaDescuadrados;
                            ViewBag.calculoDebito        = calcularDebito;
                            ViewBag.calculoCredito       = calcularCredito;
                            ViewBag.banco     = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);
                            ViewBag.idtipodoc =
                                new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                               "tpdoc_id", "tpdoc_nombre", idtipodoc);
                            TempData["modelo_invalido"] = "modelo_invalido";
                            BuscarFavoritos(menu);
                            return(View(modelo));
                        }
                    }
                }

                if (calcularCredito != calcularDebito)
                {
                    TempData["documento_descuadrado"] =
                        "El documento no tiene los movimientos calculados correctamente";
                    ViewBag.documentoDescuadrado = listaDescuadrados;
                    ViewBag.calculoDebito        = calcularDebito;
                    ViewBag.calculoCredito       = calcularCredito;
                    ViewBag.banco     = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);
                    ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                                       "tpdoc_id", "tpdoc_nombre", idtipodoc);
                    TempData["modelo_invalido"] = "modelo_invalido";
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }
                // Fin de la validacion para el calculo del debito y credito del movimiento contable

                encab_documento crearEncabezado = new encab_documento
                {
                    tipo         = idtipodoc,
                    bodega       = bodegaActual,
                    nit          = modelo.idtercero,
                    numero       = numeroConsecutivo,
                    fecha        = DateTime.Now,
                    fec_creacion = DateTime.Now,
                    valor_total  = modelo.Valor,
                    impoconsumo  = 0
                };
                context.encab_documento.Add(crearEncabezado);
                int save = context.SaveChanges();

                if (save > 0)
                {
                    encab_documento buscarUltimoEncabezado =
                        context.encab_documento.OrderByDescending(x => x.idencabezado).FirstOrDefault();


                    modelo.idencabdoc = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0;
                    context.documentos_posfechados.Add(modelo);

                    List <perfil_cuentas_documento> parametrosCuentas = context.perfil_cuentas_documento.Where(x => x.id_perfil == modelo.idperfil)
                                                                        .ToList();
                    centro_costo centroValorCero = context.centro_costo.FirstOrDefault(x => x.pre_centcst == "0");
                    int          idCentroCero    = centroValorCero != null?Convert.ToInt32(centroValorCero.centcst_id) : 0;

                    icb_terceros terceroValorCero = context.icb_terceros.FirstOrDefault(x => x.doc_tercero == "0");
                    int          idTerceroCero    = centroValorCero != null?Convert.ToInt32(terceroValorCero.tercero_id) : 0;

                    int secuencia = 1;
                    foreach (perfil_cuentas_documento parametro in parametrosCuentas)
                    {
                        decimal    valorCredito = 0;
                        decimal    valorDebito  = 0;
                        cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta);
                        if (buscarCuenta != null)
                        {
                            if (parametro.id_nombre_parametro == 15)
                            {
                                valorCredito = modelo.Valor;
                                valorDebito  = modelo.Valor;
                            }

                            mov_contable movNuevo = new mov_contable
                            {
                                id_encab =
                                    buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0,
                                fec_creacion      = DateTime.Now,
                                userid_creacion   = Convert.ToInt32(Session["user_usuarioid"]),
                                idparametronombre = parametro.id_nombre_parametro,
                                cuenta            = parametro.cuenta,
                                centro            = parametro.centro,
                                fec = DateTime.Now,
                                seq = secuencia
                            };

                            if (buscarCuenta.concepniff == 1)
                            {
                                if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                {
                                    movNuevo.debitoniif = valorDebito;
                                    movNuevo.debito     = valorDebito;
                                }

                                if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                {
                                    movNuevo.credito     = valorCredito;
                                    movNuevo.creditoniif = valorCredito;
                                }
                            }

                            if (buscarCuenta.concepniff == 4)
                            {
                                if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                {
                                    movNuevo.debitoniif = valorDebito;
                                }

                                if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                {
                                    movNuevo.creditoniif = valorCredito;
                                }
                            }

                            if (buscarCuenta.concepniff == 5)
                            {
                                if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                {
                                    movNuevo.debito = valorDebito;
                                }

                                if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                {
                                    movNuevo.credito = valorCredito;
                                }
                            }

                            if (buscarCuenta.manejabase)
                            {
                                movNuevo.basecontable = modelo.Valor;
                            }

                            if (buscarCuenta.tercero)
                            {
                                movNuevo.nit = modelo.idtercero;
                            }

                            if (buscarCuenta.documeto)
                            {
                                movNuevo.documento = buscarUltimoEncabezado.numero.ToString();
                            }

                            movNuevo.detalle = "Cheque posfechado " + buscarUltimoEncabezado.documento;
                            secuencia++;


                            cuentas_valores buscar_cuentas_valores = context.cuentas_valores.FirstOrDefault(x =>
                                                                                                            x.centro == parametro.centro && x.cuenta == parametro.cuenta && x.nit == movNuevo.nit);
                            DateTime fechaHoy = DateTime.Now;
                            if (buscar_cuentas_valores != null)
                            {
                                buscar_cuentas_valores.ano    = fechaHoy.Year;
                                buscar_cuentas_valores.mes    = fechaHoy.Month;
                                buscar_cuentas_valores.cuenta = movNuevo.cuenta;
                                buscar_cuentas_valores.centro = movNuevo.centro;
                                //buscar_cuentas_valores.nit = movNuevo.nit ?? idTerceroCero;
                                buscar_cuentas_valores.nit                  = movNuevo.nit;
                                buscar_cuentas_valores.debito              += movNuevo.debito;
                                buscar_cuentas_valores.credito             += movNuevo.credito;
                                buscar_cuentas_valores.debitoniff          += movNuevo.debitoniif;
                                buscar_cuentas_valores.creditoniff         += movNuevo.creditoniif;
                                context.Entry(buscar_cuentas_valores).State = EntityState.Modified;
                            }
                            else
                            {
                                cuentas_valores crearCuentaValor = new cuentas_valores
                                {
                                    ano    = fechaHoy.Year,
                                    mes    = fechaHoy.Month,
                                    cuenta = movNuevo.cuenta,
                                    centro = movNuevo.centro,
                                    //crearCuentaValor.nit = movNuevo.nit ?? idTerceroCero;
                                    nit         = movNuevo.nit,
                                    debito      = movNuevo.debito,
                                    credito     = movNuevo.credito,
                                    debitoniff  = movNuevo.debitoniif,
                                    creditoniff = movNuevo.creditoniif
                                };
                                context.cuentas_valores.Add(crearCuentaValor);
                            }

                            context.mov_contable.Add(movNuevo);
                        }
                    }

                    bool guardarCuenta = context.SaveChanges() > 0;
                    if (guardarCuenta)
                    {
                        int grupoId = grupoConsecutivo != null ? grupoConsecutivo.grupo : 0;
                        List <icb_doc_consecutivos> gruposConsecutivos = context.icb_doc_consecutivos
                                                                         .Where(x => x.doccons_grupoconsecutivo == grupoId).ToList();
                        foreach (icb_doc_consecutivos grupo in gruposConsecutivos)
                        {
                            grupo.doccons_siguiente    = grupo.doccons_siguiente + 1;
                            context.Entry(grupo).State = EntityState.Modified;
                        }

                        context.SaveChanges();
                        TempData["mensaje"] = "La creacion del cheque posfechado se ha guardado exitosamente.";
                        ViewBag.banco       = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);
                        ViewBag.idtipodoc   =
                            new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados), "tpdoc_id",
                                           "tpdoc_nombre", idtipodoc);
                        return(RedirectToAction("Create", "chequePosfechado", new { menu }));
                    }
                }
            }

            ViewBag.banco     = new SelectList(context.bancos, "id", "Descripcion", modelo.banco);
            ViewBag.idtipodoc = new SelectList(context.tp_doc_registros.Where(x => x.tipo == idDocPosfechados),
                                               "tpdoc_id", "tpdoc_nombre", idtipodoc);
            TempData["modelo_invalido"] = "modelo_invalido";
            BuscarFavoritos(menu);
            return(View(modelo));
        }
Exemple #23
0
        public void listas(NoteDebitScheduleModel modelo)
        {
            icb_sysparameter vparam = context.icb_sysparameter.Where(d => d.syspar_cod == "P95").FirstOrDefault();
            int debitNote           = vparam != null?Convert.ToInt32(vparam.syspar_value) : 3038;

            var buscarTipoDocumento = (from tipoDocumento in context.tp_doc_registros
                                       select new
            {
                tipoDocumento.sw,
                tipoDocumento.tpdoc_id,
                nombre = "(" + tipoDocumento.prefijo + ") " + tipoDocumento.tpdoc_nombre,
                tipoDocumento.tipo
            }).ToList();

            ViewBag.tipo_documentoFiltro =
                new SelectList(buscarTipoDocumento.Where(x => x.sw == 3), "tpdoc_id", "nombre");

            ViewBag.tipo = new SelectList(context.tp_doc_registros.Where(x => x.tipo == 21), "tpdoc_id",
                                          "tpdoc_nombre");

            var users = from u in context.users
                        select new
            {
                idTercero = u.user_id,
                nombre    = u.user_nombre,
                apellidos = u.user_apellido,
                u.user_numIdent
            };
            List <SelectListItem> itemsU = new List <SelectListItem>();

            foreach (var item in users)
            {
                string nombre = "(" + item.user_numIdent + ") - " + item.nombre + " " + item.apellidos;
                itemsU.Add(new SelectListItem {
                    Text = nombre, Value = item.idTercero.ToString()
                });
            }

            ViewBag.vendedor = itemsU;


            ViewBag.moneda       = new SelectList(context.monedas, "moneda", "descripcion");
            ViewBag.tasa         = new SelectList(context.moneda_conversion, "id", "conversion");
            ViewBag.motivocompra = new SelectList(context.motcompra, "id", "Motivo");

            ViewBag.condicion_pago = context.fpago_tercero;

            var provedores = from pro in context.tercero_cliente
                             join ter in context.icb_terceros
                             on pro.tercero_id equals ter.tercero_id
                             select new
            {
                idTercero        = ter.tercero_id,
                nombreTErcero    = ter.prinom_tercero,
                apellidosTercero = ter.apellido_tercero,
                razonSocial      = ter.razon_social,
                ter.doc_tercero
            };
            List <SelectListItem> items = new List <SelectListItem>();

            foreach (var item in provedores)
            {
                string nombre = item.doc_tercero + " - " + item.nombreTErcero + " " + item.apellidosTercero + " " +
                                item.razonSocial;
                items.Add(new SelectListItem {
                    Text = nombre, Value = item.idTercero.ToString()
                });
            }

            ViewBag.nit = items;

            encab_documento buscarSerialUltimaNota = context.encab_documento.OrderByDescending(x => x.idencabezado)
                                                     .Where(d => d.tipo == debitNote).FirstOrDefault();

            ViewBag.numNotaCreado = buscarSerialUltimaNota != null ? buscarSerialUltimaNota.numero : 0;
            //busco el perfil contable del documento y si está disponible para esa bodega
            var perfilcon = context.perfil_contable_bodega.Where(d => d.idbodega == modelo.IdLarder && d.perfil_contable_documento.tipo == debitNote).FirstOrDefault();

            modelo.Document              = perfilcon != null ? perfilcon.perfil_contable_documento.tp_doc_registros.tpdoc_nombre : "";
            modelo.typeDocument          = perfilcon != null ? perfilcon.perfil_contable_documento.tp_doc_registros.tpdoc_id : 0;
            modelo.CountableProfile      = perfilcon != null ? perfilcon.perfil_contable_documento.id : 0;
            modelo.CountablenNameProfile = perfilcon != null
                ? perfilcon.perfil_contable_documento.descripcion
                : "";
            modelo.ReceiptValue = 0;
            modelo.Value        = 0;

            /*Tipo Cartera*/
            var listC = (from t in context.Tipos_Cartera
                         select new
            {
                t.id,
                nombre = t.descripcion
            }).ToList();

            List <SelectListItem> lista = new List <SelectListItem>();

            foreach (var item in listC)
            {
                lista.Add(new SelectListItem
                {
                    Text  = item.nombre,
                    Value = item.id.ToString()
                });
            }
            ViewBag.cartera = lista;
        }
Exemple #24
0
        public JsonResult BuscarCliente2(int?cliente)
        {
            if (cliente != null)
            {
                var buscarCliente = (from t in context.icb_terceros
                                     join c in context.tercero_cliente
                                     on t.tercero_id equals c.tercero_id
                                     where t.tercero_id == cliente
                                     select new
                {
                    nombre = t.prinom_tercero != null
                                             ? t.doc_tercero + " - " + t.prinom_tercero + " " + t.apellido_tercero + " " +
                             t.segapellido_tercero
                                             : t.doc_tercero + " - " + t.razon_social,
                    id = t.tercero_id,
                    t.doc_tercero,
                }).FirstOrDefault();

                if (buscarCliente != null)
                {
                    var buscarCupo = context.tercero_cliente.Where(x => x.tercero_id == buscarCliente.id).Select(x => new
                    {
                        cupo         = x.cupocredito,
                        fecha_limite = x.fec_cupo_limite
                    }).FirstOrDefault();

                    if (buscarCupo.cupo != null && buscarCupo.fecha_limite != null)
                    {
                        icb_sysparameter swND = context.icb_sysparameter.Where(d => d.syspar_cod == "P102").FirstOrDefault();
                        int swND2             = swND != null?Convert.ToInt32(swND.syspar_value) : 5;

                        icb_sysparameter swF = context.icb_sysparameter.Where(d => d.syspar_cod == "P103").FirstOrDefault();
                        int swF2             = swF != null?Convert.ToInt32(swF.syspar_value) : 17;

                        decimal       totalFactura = 0;
                        decimal?      saldoCupo    = 0;
                        fpago_tercero fpcontado    = context.fpago_tercero.Where(x => x.dvencimiento == 0).FirstOrDefault();

                        var totalfactura2 = context.encab_documento
                                            .Where(x => (x.tipo == swND2 || x.tipo == swF2) && x.fpago_id != fpcontado.fpago_id && x.nit == buscarCliente.id &&
                                                   (x.usa_cupo == true || x.detalle_formas_pago_orden.Where(d => d.idformas_pago == 7).Count() > 0)
                                                   ).Select(d => new { valor_total = d.valor_cupo, valor_aplicado = d.valor_cupo_aplicado }).ToList();
                        if (totalfactura2.Count() > 0)
                        {
                            totalFactura = totalfactura2.Select(d => d.valor_total - d.valor_aplicado).Sum();
                        }

                        saldoCupo = buscarCupo.cupo - totalFactura;
                        //var facturado2 = context.vw_cartera_general.Where(x => x.tercero_id == buscarCliente.id).ToList();
                        //decimal facturado = 0;
                        //decimal facturadoRepuestos = 0;
                        //decimal nd = 0;
                        //decimal nc = 0;
                        //decimal rc = 0;

                        //if (facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 2 || x.id_tipo_doc == 4)).Count() > 0)
                        //{
                        //	facturado = facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 2 || x.id_tipo_doc == 4)).Select(x => x.vr_factura).Sum();
                        //    facturadoRepuestos = facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 4)).Select(x => x.vr_factura).Sum();
                        //   }
                        //else
                        //{
                        //	facturado = 0;
                        //	facturadoRepuestos = 0;
                        //}
                        //if (facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 20)).Count() > 0)
                        //{
                        //	nc = facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 20)).Select(x => x.vr_factura).Sum();
                        //}
                        //else
                        //{
                        //	nc = 0;
                        //}
                        //if (facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 21)).Count() > 0)
                        //{
                        //	nd = context.vw_cartera_general.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 21)).Select(x => x.vr_factura).Sum();
                        //}
                        //else
                        //{
                        //	nd = 0;
                        //}

                        //if (facturado2.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 16)).Count() > 0)
                        //{
                        //	rc = context.vw_cartera_general.Where(x => x.tercero_id == buscarCliente.id && (x.id_tipo_doc == 16)).Select(x => x.vr_factura).Sum();
                        //}
                        //else
                        //{
                        //	nc = 0;
                        //}
                        //var cupo = buscarCupo.Select(x => new
                        //{
                        //	cupo = x.cupo != null ? x.cupo.Value.ToString("0,0", elGR) : "0",
                        //	fecha_vence = x.fecha_limite != null ? x.fecha_limite.Value.ToString("yyyy/MM/dd") : "Sin fecha",
                        //	dias = (x.fecha_limite - DateTime.Now.Date).Value.TotalDays,
                        //	//saldo = x.cupo != null ? (x.cupo + nd ).Value.ToString("0,0", elGR) : "0",
                        //	//saldo = x.cupo != null ? (x.cupo + nd - nc - rc).Value.ToString("0,0", elGR) : "0",
                        //	saldo = x.cupo != null ? (x.cupo - nd - facturadoRepuestos + rc + nc).Value.ToString("0,0", elGR) : "0",
                        //});
                        var cupo = new
                        {
                            cupo = buscarCupo.cupo != null?buscarCupo.cupo.Value.ToString("0,0", elGR) : "0",
                                       fecha_vence = buscarCupo.fecha_limite != null
                                ? buscarCupo.fecha_limite.Value.ToString("yyyy/MM/dd")
                                : "Sin fecha",
                                       dias  = (buscarCupo.fecha_limite - DateTime.Now.Date).Value.TotalDays,
                                       saldo = saldoCupo.Value.ToString("0,0", elGR)
                        };

                        return(Json(new { buscarCliente, cupo }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { buscarCliente, cupo = "" }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    return(Json(new { buscarCliente, cupo = "" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(0, JsonRequestBehavior.AllowGet));
            }
        }
Exemple #25
0
        public ActionResult Index(HttpPostedFileBase excelfile, int?menu)
        {
            int    items              = 0;
            string log                = "";
            int    itemsCorrectos     = 0;
            int    itemsFallidos      = 0;
            string nombreArchivo      = excelfile.FileName;
            bool   agregarArchivo     = false;
            int    idUltimoArchTomBat = 0;

            int tomaBateriaId = 0;

            try
            {
                tomaBateriaId = Convert.ToInt32(Request["tomaBateriaExcel"]);
            }
            catch (FormatException)
            {
                //Validacion para cuando no se asigna una toma de bateria al importar el archivo excel
            }

            int codigoBodega = 0;

            try
            {
                codigoBodega = Convert.ToInt32(Request["bodegaExcel"]);
            }
            catch (FormatException)
            {
                //Validacion para cuando no se asigna una bodega al importar el archivo excel
            }


            if (excelfile == null || excelfile.ContentLength == 0)
            {
                TempData["mensajeCargue"] = "El archivo esta vacio o no es un archivo valido!";
                ViewBag.tomaBateria       = context.icb_toma_baterias;
                ViewBag.bodegas           = context.bodega_concesionario;
                BuscarFavoritos(menu);
                return(View());
            }

            icb_arch_tombat buscaNombre = context.icb_arch_tombat.FirstOrDefault(x => x.arch_tombat_nombre == excelfile.FileName);

            if (buscaNombre != null)
            {
                TempData["mensajeCargue"] =
                    "El nombre del archivo ya se encuentra registrado, verifique que el archivo no ha sido cargado antes o cambie de nombre!";
                ViewBag.tomaBateria = context.icb_toma_baterias;
                ViewBag.bodegas     = context.bodega_concesionario;
                BuscarFavoritos(menu);
                return(View());
            }

            if (excelfile.FileName.EndsWith("xls") || excelfile.FileName.EndsWith("xlsx"))
            {
                string path = Server.MapPath("~/Content/" + excelfile.FileName);
                // Validacion para cuando el archivo esta en uso y no puede ser usado desde visual
                try
                {
                    if (System.IO.File.Exists(path))
                    {
                        System.IO.File.Delete(path);
                    }
                }
                catch (IOException)
                {
                    TempData["mensajeCargue"] =
                        "El archivo esta siendo usado por otro proceso, asegurece de cerrarlo o cree una copia del archivo e intente de nuevo!";
                    ViewBag.tomaBateria = context.icb_toma_baterias;
                    ViewBag.bodegas     = context.bodega_concesionario;
                    BuscarFavoritos(menu);
                    return(View());
                }

                excelfile.SaveAs(path);

                // Read data from excel file
                Application application = new Application();
                Workbook    workbook    = application.Workbooks.Open(path);
                Worksheet   worksheet   = workbook.ActiveSheet;
                Range       range       = worksheet.UsedRange;

                items = range.Rows.Count;

                // Se hace la validacion para agregar solo una vez el archivo de facturacion con el total de registros que existen
                if (!agregarArchivo)
                {
                    icb_arch_tombat archivoTomBat = new icb_arch_tombat
                    {
                        arch_tombat_nombre = nombreArchivo,
                        arch_tombat_fecha  = DateTime.Now,
                        items           = items - 1,
                        toma_bateria_id = tomaBateriaId
                    };
                    context.icb_arch_tombat.Add(archivoTomBat);
                    bool resultArchTombat = context.SaveChanges() > 0;
                    if (resultArchTombat)
                    {
                        idUltimoArchTomBat = context.icb_arch_tombat.OrderByDescending(x => x.arch_tombat_id).First()
                                             .arch_tombat_id;
                    }

                    agregarArchivo = true;
                }


                byte[] fileBytes = new byte[excelfile.ContentLength];
                int    data      = excelfile.InputStream.Read(fileBytes, 0, Convert.ToInt32(excelfile.ContentLength));

                for (int row = 2; row <= range.Rows.Count; row++)
                {
                    icb_vehiculo_eventos nuevoRegistroTomaBateria = new icb_vehiculo_eventos();

                    dynamic capturaFecha = ((Range)range.Cells[row, 12]).Text;
                    //DateTime resultFecha = DateTime.Parse(capturaFecha);

                    DateTime parseo = new DateTime();
                    try
                    {
                        parseo = DateTime.Parse(capturaFecha);
                        nuevoRegistroTomaBateria.eventofec_creacion = parseo;

                        nuevoRegistroTomaBateria.eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]);

                        string VoltajeBateria = ((Range)range.Cells[row, 2]).Text;
                        ;
                        string CCATomado = ((Range)range.Cells[row, 3]).Text;
                        ;
                        string CCABateria  = ((Range)range.Cells[row, 4]).Text;
                        string observacion = "CCA Bateria = " + CCABateria + " , Voltaje Bateria = " + VoltajeBateria +
                                             " ,CCA Tomado = " + CCATomado;

                        string decision = ((Range)range.Cells[row, 7]).Text;

                        string vin = ((Range)range.Cells[row, 14]).Text;

                        icb_vehiculo buscarVin = context.icb_vehiculo.FirstOrDefault(x => x.vin == vin);
                        if (buscarVin != null)
                        {
                            icb_vehiculo_bateria buscarTomaExiste = context.icb_vehiculo_bateria.FirstOrDefault(x =>
                                                                                                                x.veh_bat_vhid == buscarVin.icbvh_id && x.veh_bat_toma_id == tomaBateriaId);

                            if (buscarTomaExiste != null)
                            {
                                itemsFallidos++;
                                if (log.Length < 1)
                                {
                                    log += vin + "*El VIN ya registro inspeccion de bateria";
                                }
                                else
                                {
                                    log += "|" + vin + "*El VIN ya registro inspeccion de bateria";
                                }
                            }
                            else
                            {
                                if (buscarVin.icbvh_estatus == "0")
                                {
                                    itemsFallidos++;
                                    if (log.Length < 1)
                                    {
                                        log += vin + "*El VIN se encuentra en estado 0";
                                    }
                                    else
                                    {
                                        log += "|" + vin + "*El VIN se encuentra en estado 0";
                                    }
                                }
                                else
                                {
                                    itemsCorrectos++;
                                    nuevoRegistroTomaBateria.vin           = vin;
                                    nuevoRegistroTomaBateria.evento_nombre = "Toma Bateria";
                                    nuevoRegistroTomaBateria.evento_estado = true;
                                    //nuevoRegistroTomaBateria.id_vehiculo = buscarVin.icbvh_id;
                                    nuevoRegistroTomaBateria.bodega_id = codigoBodega;

                                    icb_sysparameter buscarParametroTpEvento =
                                        context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P12");
                                    string tpEventoParametro = buscarParametroTpEvento != null
                                        ? buscarParametroTpEvento.syspar_value
                                        : "6";

                                    nuevoRegistroTomaBateria.id_tpevento        = Convert.ToInt32(tpEventoParametro);
                                    nuevoRegistroTomaBateria.evento_observacion = observacion;
                                    context.icb_vehiculo_eventos.Add(nuevoRegistroTomaBateria);
                                    bool guardarEventoVehiculo = context.SaveChanges() > 0;

                                    context.icb_vehiculo_bateria.Add(new icb_vehiculo_bateria
                                    {
                                        veh_bat_fecha    = parseo,
                                        veh_bat_toma_id  = tomaBateriaId,
                                        veh_bat_vhid     = buscarVin.icbvh_id,
                                        veh_bat_vin      = buscarVin.vin,
                                        veh_bat_archid   = idUltimoArchTomBat,
                                        veh_bat_decision = decision
                                    });
                                    bool guardarTipoTomaBateria = context.SaveChanges() > 0;

                                    if (guardarEventoVehiculo && guardarTipoTomaBateria)
                                    {
                                        buscarVin.icbvh_fecing_bateria = DateTime.Now;
                                        context.Entry(buscarVin).State = EntityState.Modified;
                                        context.SaveChanges();
                                    }
                                }
                            }
                        }
                        else
                        {
                            itemsFallidos++;
                            if (log.Length < 1)
                            {
                                log += vin + "*El VIN no esta registrado en base de datos";
                            }
                            else
                            {
                                log += "|" + vin + "*El VIN no esta registrado en base de datos";
                            }
                        }
                    }
                    catch (FormatException)
                    {
                        //excelfile.InputStream.Close();
                        //excelfile.InputStream.Dispose();
                        //System.IO.File.Delete(path);
                        //TempData["mensajeError"] = "Verifique que los campos de excel no tengan valores vacios o mal escritos!";
                        //return View();
                    }
                } // Fin del ciclo FOR

                workbook.Close(0);
                application.Quit();
            }

            icb_arch_tombat_log archLog = new icb_arch_tombat_log
            {
                tombat_log_fecha         = DateTime.Now,
                tombat_log_itemscorrecto = itemsCorrectos,
                tombat_log_itemserror    = itemsFallidos,
                tombat_log_nombrearchivo = nombreArchivo,
                tombat_log_items         = items - 1,
                tombat_log_log           = log,
                id_arch_tombat           = idUltimoArchTomBat
            };

            context.icb_arch_tombat_log.Add(archLog);

            context.SaveChanges();
            ViewBag.tomaBateria = context.icb_toma_baterias;
            ViewBag.bodegas     = context.bodega_concesionario;
            BuscarFavoritos(menu);
            return(View());
        }
Exemple #26
0
        public JsonResult buscarTercero(int?doc_tercero)
        {
            if (doc_tercero != null)
            {
                var buscar = context.icb_terceros.Where(x => x.doc_tercero == doc_tercero.ToString()).Select(d => new
                {
                    nombre = d.prinom_tercero + " " + d.segnom_tercero + " " + d.apellido_tercero + " " +
                             d.segapellido_tercero,
                    id       = d.tercero_id,
                    telefono = d.telf_tercero != null ? d.telf_tercero : "No registrado",
                    celular  = d.celular_tercero != null ? d.celular_tercero : "No registrado"
                }).FirstOrDefault();
                if (buscar == null)
                {
                    return(Json(0, JsonRequestBehavior.AllowGet));
                }

                if (buscar != null)
                {
                    var buscarCupo = context.tercero_cliente.Where(x => x.tercero_id == buscar.id).Select(x => new
                    {
                        cupo         = x.cupocredito,
                        fecha_limite = x.fec_cupo_limite
                    }).FirstOrDefault();

                    if (buscarCupo.cupo != null && buscarCupo.fecha_limite != null)
                    {
                        //
                        icb_sysparameter swND = context.icb_sysparameter.Where(d => d.syspar_cod == "P102").FirstOrDefault();
                        int swND2             = swND != null?Convert.ToInt32(swND.syspar_value) : 5;

                        icb_sysparameter swF = context.icb_sysparameter.Where(d => d.syspar_cod == "P103").FirstOrDefault();
                        int swF2             = swF != null?Convert.ToInt32(swF.syspar_value) : 17;

                        decimal       totalFactura = 0;
                        decimal?      saldoCupo    = 0;
                        fpago_tercero fpcontado    = context.fpago_tercero.Where(x => x.dvencimiento == 0).FirstOrDefault();

                        totalFactura = context.encab_documento
                                       .Where(x => x.tipo == swND2 || x.tipo == swF2 && x.fpago_id != 0)
                                       .Select(x => x.valor_total - x.valor_aplicado).Sum();
                        saldoCupo = buscarCupo.cupo - totalFactura;

                        /*	var facturado2 = context.vw_cartera_general.Where(x => x.tercero_id == buscar.id).ToList();
                         *                      decimal facturado = 0;
                         *                      decimal nd = 0;
                         *                      decimal nc = 0;
                         *                      decimal rc = 0;
                         *
                         *                      if (facturado2.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 2 || x.id_tipo_doc == 4)).Count() > 0)
                         *                      {
                         *                          facturado = facturado2.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 2 || x.id_tipo_doc == 4)).Select(x => x.vr_factura).Sum();
                         *                      }
                         *                      else { facturado = 0; }
                         *                      if (facturado2.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 20)).Count() > 0)
                         *                      {
                         *                          nc = facturado2.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 20)).Select(x => x.vr_factura).Sum();
                         *                      }
                         *                      else { nc = 0; }
                         *                      if (facturado2.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 21)).Count() > 0)
                         *                      {
                         *                          nd = context.vw_cartera_general.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 21)).Select(x => x.vr_factura).Sum();
                         *                      }
                         *                      else { nd = 0; }
                         *
                         *                      if (facturado2.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 16)).Count() > 0)
                         *                      {
                         *                          rc = context.vw_cartera_general.Where(x => x.tercero_id == buscar.id && (x.id_tipo_doc == 16)).Select(x => x.vr_factura).Sum();
                         *                      }
                         *                      else { nc = 0; }
                         *
                         *                      var cupo = new
                         *                              {
                         *                                      cupo = buscarCupo.cupo != null ? buscarCupo.cupo.Value.ToString("0,0", elGR) : "0",
                         *                                      fecha_vence = buscarCupo.fecha_limite != null ? buscarCupo.fecha_limite.Value.ToString("yyyy/MM/dd") : "Sin fecha",
                         *                                      dias = (buscarCupo.fecha_limite - DateTime.Now.Date).Value.TotalDays,
                         *                                      saldo = buscarCupo.cupo != null ? (buscarCupo.cupo - nd - facturado + rc + nc).Value.ToString("0,0", elGR) : "0",
                         *                              };*/
                        var cupo = new
                        {
                            cupo = buscarCupo.cupo != null?buscarCupo.cupo.Value.ToString("0,0", elGR) : "0",
                                       fecha_vence = buscarCupo.fecha_limite != null
                                ? buscarCupo.fecha_limite.Value.ToString("yyyy/MM/dd")
                                : "Sin fecha",
                                       dias  = (buscarCupo.fecha_limite - DateTime.Now.Date).Value.TotalDays,
                                       saldo = saldoCupo.Value.ToString("0,0", elGR)
                        };

                        return(Json(new { buscar, cupo }, JsonRequestBehavior.AllowGet));
                    }
                }

                return(Json(new { buscar, cupo = "" }, JsonRequestBehavior.AllowGet));
            }

            return(Json(0, JsonRequestBehavior.AllowGet));
        }
Exemple #27
0
        public ActionResult BuscarDatosCargueExportados(int?bodega, DateTime?desde, DateTime?hasta)
        {
            //consulto parametro de exportación de información vehículos
            icb_sysparameter paraEx = context.icb_sysparameter.Where(d => d.syspar_cod == "P133").FirstOrDefault();
            int idEvento            = paraEx != null?Convert.ToInt32(paraEx.syspar_value) : 1061;

            int idEv = context.icb_tpeventos.Where(x => x.codigoevento == idEvento).FirstOrDefault().tpevento_id;

            //cambiar para que únicamente se muestren los registros que tengas eventos.
            if (desde == null)
            {
                desde = context.vw_cargacrmgm.OrderBy(x => x.fecha).Select(x => x.fecha).FirstOrDefault();
            }

            if (hasta == null)
            {
                hasta = context.vw_cargacrmgm.OrderByDescending(x => x.fecha).Select(x => x.fecha).FirstOrDefault();
            }
            else
            {
                hasta = hasta.GetValueOrDefault().AddDays(1);
            }

            if (bodega == null)
            {
                System.Collections.Generic.List <vw_cargacrmgm> vistaCRM = (from vista in context.vw_cargacrmgm
                                                                            where vista.fecha >= desde &&
                                                                            vista.fecha <= hasta && vista.IdEventoExportado == idEv
                                                                            select vista).ToList();

                var consultarVista = vistaCRM.Select(x => new
                {
                    concesionario     = x.concesionario != null ? x.concesionario : "",
                    puntoventa        = x.puntoventa != null ? x.puntoventa + " - " + x.bodccs_nombre : "",
                    serie             = x.serie != null ? x.serie : "",
                    chevystar         = x.chevystar != null ? x.chevystar : "",
                    nit_flota         = x.nit_flota != null ? x.nit_flota : "",
                    nomflota          = x.nomflota != null ? x.nomflota : "",
                    dirflota          = x.dirflota != null ? x.dirflota : "",
                    ciuflota          = x.ciuflota != null ? x.ciuflota : "",
                    depflota          = x.depflota != null ? x.depflota : "",
                    paisflota         = x.paisflota != null ? x.paisflota : "",
                    apartflota        = x.apartflota != null ? x.apartflota : "",
                    telflota          = x.telflota != null ? x.telflota : "",
                    nitleasing        = x.nitleasing != null ? x.nitleasing : "",
                    nomleasing        = x.nomleasing != null ? x.nomleasing : "",
                    dirleasing        = x.dirleasing != null ? x.dirleasing : "",
                    ciuleasinf        = x.ciuleasing != null ? x.ciuleasing : "",
                    depleasing        = x.depleasing != null ? x.depleasing : "",
                    paisleasing       = x.paisleasing != null ? x.paisleasing : "",
                    aparleasing       = x.aparleasing != null ? x.aparleasing : "",
                    telleasing        = x.telleasing != null ? x.telleasing : "",
                    nit_cliente       = x.nit_cliente != null ? x.nit_cliente : "",
                    tipo              = x.tipo != null ? x.tipo : "",
                    nomcliente        = x.nomcliente != null ? x.nomcliente : "",
                    apellidocliente   = x.apellidocliente != null ? x.apellidocliente : "",
                    gentercero_nombre = x.gentercero_nombre != null ? x.gentercero_nombre : "",
                    email_tercero     = x.email_tercero != null ? x.email_tercero : "",
                    dircliente        = x.dircliente != null ? x.dircliente : "",
                    ciucliente        = x.ciucliente != null ? x.ciucliente : "",
                    depcliente        = x.depcliente != null ? x.depcliente : "",
                    paiscliente       = x.paiscliente != null ? x.paiscliente : "",
                    telcliente        = x.telcliente != null ? x.telcliente : "",
                    aparcliente       = x.aparcliente != null ? x.aparcliente : "",
                    celular           = x.celular != null ? x.celular : "",
                    fec_nacimiento    = x.fec_nacimiento != null
                        ? x.fec_nacimiento.Value.ToString("yyyy/MM/dd", new CultureInfo("en-US"))
                        : "",
                    vendedor        = x.vendedor != null ? x.vendedor : 0,
                    tipoventa       = x.tipoventa != null ? x.tipoventa : "",
                    formapago       = x.formapago != null ? x.formapago : "",
                    numero          = x.numero,
                    fecha           = x.fecha != null ? x.fecha.ToString("yyyy/MM/dd", new CultureInfo("en-US")) : "",
                    valor_mercancia = x.valor_mercancia,
                    valor_total     = x.valor_total,
                    tpserv_nombre   = x.tpserv_nombre != null ? x.tpserv_nombre : "",
                    x.fec_entrega /*!= null ? (Convert.ToDateTime(x.fec_entrega)).ToString("yyyy/MM/dd", new CultureInfo("en-US")) : ""*/,
                    planmayor        = x.planmayor != null ? x.planmayor : "",
                    fec_alistamiento =
                        context.icb_vehiculo_eventos
                        .Where(z => (z.planmayor == x.planmayor || z.vin == x.serie) && z.id_tpevento == 2)
                        .FirstOrDefault() != null
                            ? context.icb_vehiculo_eventos
                        .Where(z => (z.planmayor == x.planmayor || z.vin == x.serie) && z.id_tpevento == 2)
                        .Select(c => c.fechaevento).FirstOrDefault()
                        .ToString("yyyy/MM/dd", new CultureInfo("en-US"))
                            : "",
                    marca_anterior  = x.marca_anterior != null ? x.marca_anterior : "",
                    modeloaterior   = x.modeloaterior != null ? x.modeloaterior : "",
                    anoanterior     = x.anoanterior != null ? x.anoanterior : "",
                    companiaseguros = x.companiaseguros != null ? x.companiaseguros : ""
                }).ToList();

                return(Json(consultarVista, JsonRequestBehavior.AllowGet));
            }
            else
            {
                System.Collections.Generic.List <vw_cargacrmgm> vistaCRM = (from vista in context.vw_cargacrmgm
                                                                            where vista.fecha >= desde &&
                                                                            vista.fecha <= hasta && vista.IdEventoExportado == idEv
                                                                            select vista).ToList();

                var consultarVista = vistaCRM.Select(x => new
                {
                    concesionario     = x.concesionario != null ? x.concesionario : "",
                    puntoventa        = x.puntoventa != null ? x.puntoventa + " - " + x.bodccs_nombre : "",
                    serie             = x.serie != null ? x.serie : "",
                    chevystar         = x.chevystar != null ? x.chevystar : "",
                    nit_flota         = x.nit_flota != null ? x.nit_flota : "",
                    nomflota          = x.nomflota != null ? x.nomflota : "",
                    dirflota          = x.dirflota != null ? x.dirflota : "",
                    ciuflota          = x.ciuflota != null ? x.ciuflota : "",
                    depflota          = x.depflota != null ? x.depflota : "",
                    paisflota         = x.paisflota != null ? x.paisflota : "",
                    apartflota        = x.apartflota != null ? x.apartflota : "",
                    telflota          = x.telflota != null ? x.telflota : "",
                    nitleasing        = x.nitleasing != null ? x.nitleasing : "",
                    nomleasing        = x.nomleasing != null ? x.nomleasing : "",
                    dirleasing        = x.dirleasing != null ? x.dirleasing : "",
                    ciuleasinf        = x.ciuleasing != null ? x.ciuleasing : "",
                    depleasing        = x.depleasing != null ? x.depleasing : "",
                    paisleasing       = x.paisleasing != null ? x.paisleasing : "",
                    aparleasing       = x.aparleasing != null ? x.aparleasing : "",
                    telleasing        = x.telleasing != null ? x.telleasing : "",
                    nit_cliente       = x.nit_cliente != null ? x.nit_cliente : "",
                    tipo              = x.tipo != null ? x.tipo : "",
                    nomcliente        = x.nomcliente != null ? x.nomcliente : "",
                    apellidocliente   = x.apellidocliente != null ? x.apellidocliente : "",
                    gentercero_nombre = x.gentercero_nombre != null ? x.gentercero_nombre : "",
                    email_tercero     = x.email_tercero != null ? x.email_tercero : "",
                    dircliente        = x.dircliente != null ? x.dircliente : "",
                    ciucliente        = x.ciucliente != null ? x.ciucliente : "",
                    depcliente        = x.depcliente != null ? x.depcliente : "",
                    paiscliente       = x.paiscliente != null ? x.paiscliente : "",
                    telcliente        = x.telcliente != null ? x.telcliente : "",
                    aparcliente       = x.aparcliente != null ? x.aparcliente : "",
                    celular           = x.celular != null ? x.celular : "",
                    fec_nacimiento    = x.fec_nacimiento != null
                        ? x.fec_nacimiento.Value.ToString("yyyy/MM/dd", new CultureInfo("en-US"))
                        : "",
                    vendedor  = x.vendedor != null ? x.vendedor : 0,
                    tipoventa = x.tipoventa != null ? x.tipoventa : "",
                    formapago = x.formapago != null ? x.formapago : "",
                    x.numero,
                    fecha = x.fecha != null ? x.fecha.ToString("yyyy/MM/dd", new CultureInfo("en-US")) : "",
                    x.valor_mercancia,
                    x.valor_total,
                    tpserv_nombre = x.tpserv_nombre != null ? x.tpserv_nombre : "",
                    x.fec_entrega /*!= null ? (Convert.ToDateTime(x.fec_entrega)).ToString("yyyy/MM/dd", new CultureInfo("en-US")) : ""*/,
                    planmayor        = x.planmayor != null ? x.planmayor : "",
                    fec_alistamiento =
                        context.icb_vehiculo_eventos
                        .Where(z => (z.planmayor == x.planmayor || z.vin == x.serie) && z.id_tpevento == 2)
                        .FirstOrDefault() != null
                            ? context.icb_vehiculo_eventos
                        .Where(z => (z.planmayor == x.planmayor || z.vin == x.serie) && z.id_tpevento == 2)
                        .Select(c => c.fechaevento).FirstOrDefault()
                        .ToString("yyyy/MM/dd", new CultureInfo("en-US"))
                            : "",
                    marca_anterior  = x.marca_anterior != null ? x.marca_anterior : "",
                    modeloaterior   = x.modeloaterior != null ? x.modeloaterior : "",
                    anoanterior     = x.anoanterior != null ? x.anoanterior : "",
                    companiaseguros = x.companiaseguros != null ? x.companiaseguros : ""
                }).ToList();

                return(Json(consultarVista, JsonRequestBehavior.AllowGet));
            }
        }
Exemple #28
0
        public JsonResult BuscarVehiculoVin(string vin)
        {
            int idUsuario = Convert.ToInt32(Session["user_usuarioid"]);
            List <bodega_usuario> bodegaUsuarioActual = context.bodega_usuario.Where(x => x.id_usuario == idUsuario).ToList();
            List <int>            bodegasDelUsuario   = new List <int>();

            foreach (bodega_usuario item in bodegaUsuarioActual)
            {
                bodegasDelUsuario.Add(item.id_bodega);
            }

            int estadoVin = 0;

            icb_sysparameter buscarParametroStatus = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P7");
            string           statusParametro       = buscarParametroStatus != null ? buscarParametroStatus.syspar_value : "6";

            var vehiculo = (from icb_vh in context.icb_vehiculo
                            join color in context.color_vehiculo
                            on icb_vh.colvh_id equals color.colvh_id
                            join bodega in context.bodega_concesionario
                            on icb_vh.id_bod equals bodega.id
                            join modelo in context.modelo_vehiculo
                            on icb_vh.modvh_id equals modelo.modvh_codigo
                            join evento in context.icb_tpeventos
                            on icb_vh.id_evento equals evento.tpevento_id
                            where icb_vh.vin == vin && bodegasDelUsuario.Contains(icb_vh.id_bod) &&
                            icb_vh.icbvh_estatus == statusParametro && icb_vh.icbvh_fec_impronta == null
                            select new
            {
                icb_vh.icbvh_id,
                icb_vh.vin,
                modelo.modvh_nombre,
                color.colvh_nombre,
                bodega.bodccs_nombre,
                evento.tpevento_nombre
            }).ToList();

            if (vehiculo.Count > 0)
            {
                estadoVin = 1;
            }
            else
            {
                icb_vehiculo buscaSinBodega = context.icb_vehiculo.FirstOrDefault(x =>
                                                                                  x.vin == vin && !bodegasDelUsuario.Contains(x.icbvh_bodpro ?? 0));
                if (buscaSinBodega != null)
                {
                    estadoVin = -1; // Significa usuario no tiene permiso de ver el vin
                }
                else
                {
                    icb_vehiculo buscaVin = context.icb_vehiculo.FirstOrDefault(x => x.vin == vin);
                    if (buscaVin != null)
                    {
                        if (buscaVin.icbvh_estatus != statusParametro)
                        {
                            estadoVin = -2;
                        }

                        if (buscaVin.icbvh_fec_impronta != null)
                        {
                            estadoVin = -3;
                        }
                    }
                    else
                    {
                        estadoVin = -4; // Sginifica que el vin no existe en db
                    }
                }
            }

            var data = new
            {
                estadoVin,
                vehiculo
            };

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
Exemple #29
0
        public ActionResult Create(EntradaSalidaModel modelo, int?menu)
        {
            if (ModelState.IsValid)
            {
                long numeroConsecutivo = 0;
                ConsecutivosGestion  gestionConsecutivo    = new ConsecutivosGestion();
                icb_doc_consecutivos numeroConsecutivoAux  = new icb_doc_consecutivos();
                tp_doc_registros     buscarTipoDocRegistro =
                    context.tp_doc_registros.FirstOrDefault(x => x.tpdoc_id == modelo.TipoDocumento);
                numeroConsecutivoAux = gestionConsecutivo.BuscarConsecutivo(buscarTipoDocRegistro, modelo.TipoDocumento,
                                                                            modelo.BodegaOrigen);

                grupoconsecutivos buscarGrupoConsecutivos = context.grupoconsecutivos.FirstOrDefault(x =>
                                                                                                     x.documento_id == modelo.TipoDocumento && x.bodega_id == modelo.BodegaOrigen);
                int numeroGrupo = buscarGrupoConsecutivos != null ? buscarGrupoConsecutivos.grupo : 0;

                if (numeroConsecutivoAux != null)
                {
                    numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente;
                }
                else
                {
                    TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento";
                    ListasDesplegables();
                    ViewBag.documentoSeleccionado = modelo.TipoDocumento;
                    ViewBag.bodegaSeleccionada    = modelo.BodegaOrigen;
                    ViewBag.perfilSeleccionado    = modelo.PerfilContable;
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }

                // Si llega aqui significa que si hay un numero de documento consecutivo
                decimal sumaCostosReferenciasAux = 0;
                int     numero_repuestosAux      = Convert.ToInt32(Request["lista_repuestos"]);
                int     cantidad_total           = Convert.ToInt32(Request["cantidad_total"]);

                if (cantidad_total <= 0)
                {
                    TempData["mensaje_error"] = "No ha agregado ninguna referencia para realizar el proceso";
                    ListasDesplegables();
                    ViewBag.documentoSeleccionado = modelo.TipoDocumento;
                    ViewBag.bodegaSeleccionada    = modelo.BodegaOrigen;
                    ViewBag.perfilSeleccionado    = modelo.PerfilContable;
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }

                for (int i = 1; i <= numero_repuestosAux; i++)
                {
                    string referencia_codigo = Request["codigo_referencia" + i];
                    string referencia_valor  = Request["valor_referencia" + i];
                    if (string.IsNullOrEmpty(referencia_codigo) || string.IsNullOrEmpty(referencia_valor))
                    {
                        // Significa que la agregaron y la eliminaron
                    }
                    else
                    {
                        sumaCostosReferenciasAux += Convert.ToDecimal(referencia_valor);
                    }
                }


                var parametrosCuentasVerificar = (from perfil in context.perfil_cuentas_documento
                                                  join nombreParametro in context.paramcontablenombres
                                                  on perfil.id_nombre_parametro equals nombreParametro.id
                                                  join cuenta in context.cuenta_puc
                                                  on perfil.cuenta equals cuenta.cntpuc_id
                                                  where perfil.id_perfil == modelo.PerfilContable
                                                  select new
                {
                    perfil.id,
                    perfil.id_nombre_parametro,
                    perfil.cuenta,
                    perfil.centro,
                    perfil.id_perfil,
                    nombreParametro.descripcion_parametro,
                    cuenta.cntpuc_numero
                }).ToList();
                List <DocumentoDescuadradoModel> listaDescuadrados = new List <DocumentoDescuadradoModel>();
                decimal calcularDebito  = 0;
                decimal calcularCredito = 0;

                foreach (var parametro in parametrosCuentasVerificar)
                {
                    cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta);
                    if (buscarCuenta != null)
                    {
                        if (parametro.id_nombre_parametro == 9 || parametro.id_nombre_parametro == 12)
                        {
                            if (parametro.id_nombre_parametro == 12)
                            {
                                if (buscarCuenta.concepniff == 1 || buscarCuenta.concepniff == 5)
                                {
                                    calcularCredito += sumaCostosReferenciasAux;
                                    listaDescuadrados.Add(new DocumentoDescuadradoModel
                                    {
                                        NumeroCuenta         = parametro.cntpuc_numero,
                                        DescripcionParametro = parametro.descripcion_parametro,
                                        ValorDebito          = 0,
                                        ValorCredito         = sumaCostosReferenciasAux
                                    });
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    //    calcularDebito += sumaCostosReferenciasAux;
                                    //    listaDescuadrados.Add(new DocumentoDescuadradoModel()
                                    //    {
                                    //        NumeroCuenta = parametro.cntpuc_numero,
                                    //        DescripcionParametro = parametro.descripcion_parametro,
                                    //        ValorDebito = sumaCostosReferenciasAux,
                                    //        ValorCredito = 0
                                    //    });
                                    //}
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                    //{
                                    //    calcularCredito += sumaCostosReferenciasAux;
                                    //    listaDescuadrados.Add(new DocumentoDescuadradoModel()
                                    //    {
                                    //        NumeroCuenta = parametro.cntpuc_numero,
                                    //        DescripcionParametro = parametro.descripcion_parametro,
                                    //        ValorDebito = 0,
                                    //        ValorCredito = sumaCostosReferenciasAux
                                    //    });
                                    //}
                                }
                                else
                                {
                                    listaDescuadrados.Add(new DocumentoDescuadradoModel
                                    {
                                        NumeroCuenta         = parametro.cntpuc_numero,
                                        DescripcionParametro = parametro.descripcion_parametro,
                                        ValorDebito          = 0,
                                        ValorCredito         = 0
                                    });
                                }
                            }
                            else
                            {
                                if (buscarCuenta.concepniff == 1 || buscarCuenta.concepniff == 5)
                                {
                                    calcularDebito += sumaCostosReferenciasAux;
                                    listaDescuadrados.Add(new DocumentoDescuadradoModel
                                    {
                                        NumeroCuenta         = parametro.cntpuc_numero,
                                        DescripcionParametro = parametro.descripcion_parametro,
                                        ValorDebito          = sumaCostosReferenciasAux,
                                        ValorCredito         = 0
                                    });
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    //    calcularDebito += sumaCostosReferenciasAux;
                                    //    listaDescuadrados.Add(new DocumentoDescuadradoModel()
                                    //    {
                                    //        NumeroCuenta = parametro.cntpuc_numero,
                                    //        DescripcionParametro = parametro.descripcion_parametro,
                                    //        ValorDebito = sumaCostosReferenciasAux,
                                    //        ValorCredito = 0
                                    //    });
                                    //}
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                    //{
                                    //    calcularCredito += sumaCostosReferenciasAux;
                                    //    listaDescuadrados.Add(new DocumentoDescuadradoModel()
                                    //    {
                                    //        NumeroCuenta = parametro.cntpuc_numero,
                                    //        DescripcionParametro = parametro.descripcion_parametro,
                                    //        ValorDebito = 0,
                                    //        ValorCredito = sumaCostosReferenciasAux
                                    //    });
                                    //}
                                }
                                else
                                {
                                    listaDescuadrados.Add(new DocumentoDescuadradoModel
                                    {
                                        NumeroCuenta         = parametro.cntpuc_numero,
                                        DescripcionParametro = parametro.descripcion_parametro,
                                        ValorDebito          = 0,
                                        ValorCredito         = 0
                                    });
                                }
                            }
                        }
                    }
                }

                if (calcularCredito != calcularDebito)
                {
                    TempData["documento_descuadrado"] =
                        "El documento no tiene los movimientos calculados correctamente";
                    ViewBag.documentoSeleccionado = modelo.TipoDocumento;
                    ViewBag.bodegaSeleccionada    = modelo.BodegaOrigen;
                    ViewBag.perfilSeleccionado    = modelo.PerfilContable;

                    ViewBag.documentoDescuadrado = listaDescuadrados;
                    ViewBag.calculoDebito        = calcularDebito;
                    ViewBag.calculoCredito       = calcularCredito;
                    ListasDesplegables();
                    BuscarFavoritos(menu);
                    return(View(modelo));
                }

                icb_sysparameter buscarNit = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P33");
                int nitTraslado            = buscarNit != null?Convert.ToInt32(buscarNit.syspar_value) : 0;

                encab_documento crearEncabezado = new encab_documento
                {
                    tipo   = modelo.TipoDocumento,
                    bodega = modelo.BodegaOrigen,
                    numero = numeroConsecutivo,
                    nit    = nitTraslado,
                    //crearEncabezado.documento = modelo.Referencia; // Puede haber varias referencias
                    fecha           = DateTime.Now,
                    fec_creacion    = DateTime.Now,
                    vencimiento     = DateTime.Now,
                    userid_creacion = Convert.ToInt32(Session["user_usuarioid"]),
                    impoconsumo     = 0,
                    perfilcontable  = modelo.PerfilContable,
                    notas           = modelo.Notas
                };
                context.encab_documento.Add(crearEncabezado);

                bool            guardar = context.SaveChanges() > 0;
                encab_documento buscarUltimoEncabezado =
                    context.encab_documento.OrderByDescending(x => x.idencabezado).FirstOrDefault();


                decimal sumaCostosReferencias = 0;
                int     numero_repuestos      = Convert.ToInt32(Request["lista_repuestos"]);
                int     sequ = 1;
                for (int i = 1; i <= numero_repuestos; i++)
                {
                    string referencia_codigo = Request["codigo_referencia" + i];
                    string referencia_valor  = Request["valor_referencia" + i];
                    if (string.IsNullOrEmpty(referencia_codigo) || string.IsNullOrEmpty(referencia_valor))
                    {
                        // Significa que la agregaron y la eliminaron
                    }
                    else
                    {
                        sumaCostosReferencias += Convert.ToDecimal(referencia_valor);

                        referencias_inven buscarReferenciasInvenOrigen = context.referencias_inven.FirstOrDefault(x =>
                                                                                                                  x.codigo == referencia_codigo && x.ano == DateTime.Now.Year &&
                                                                                                                  x.mes == DateTime.Now.Month && x.bodega == modelo.BodegaOrigen);
                        if (buscarReferenciasInvenOrigen != null)
                        {
                            buscarReferenciasInvenOrigen.cos_ent =
                                (!string.IsNullOrEmpty(buscarReferenciasInvenOrigen.cos_ent.ToString())
                                    ? Convert.ToDecimal(buscarReferenciasInvenOrigen.cos_ent)
                                    : 0) + (!string.IsNullOrEmpty(referencia_valor)
                                    ? Convert.ToDecimal(referencia_valor)
                                    : 0);
                            buscarReferenciasInvenOrigen.sub_cos =
                                (!string.IsNullOrEmpty(buscarReferenciasInvenOrigen.sub_cos.ToString())
                                    ? Convert.ToDecimal(buscarReferenciasInvenOrigen.sub_cos)
                                    : 0) + (!string.IsNullOrEmpty(referencia_valor)
                                    ? Convert.ToDecimal(referencia_valor)
                                    : 0);
                            context.Entry(buscarReferenciasInvenOrigen).State = EntityState.Modified;
                        }
                        else
                        {
                            referencias_inven crearReferencia = new referencias_inven
                            {
                                bodega  = modelo.BodegaOrigen,
                                codigo  = referencia_codigo,
                                ano     = (short)DateTime.Now.Year,
                                mes     = (short)DateTime.Now.Month,
                                can_ini = 0,
                                cos_ent = !string.IsNullOrEmpty(referencia_valor)
                                    ? Convert.ToDecimal(referencia_valor)
                                    : 0,
                                sub_cos = !string.IsNullOrEmpty(referencia_valor)
                                    ? Convert.ToDecimal(referencia_valor)
                                    : 0,
                                modulo = "R"
                            };
                            context.referencias_inven.Add(crearReferencia);
                        }


                        lineas_documento crearLineasOrigen = new lineas_documento
                        {
                            codigo          = referencia_codigo,
                            fec_creacion    = DateTime.Now,
                            userid_creacion = Convert.ToInt32(Session["user_usuarioid"]),
                            nit             = nitTraslado,
                            bodega          = modelo.BodegaOrigen,
                            seq             = sequ,
                            estado          = true,
                            fec             = DateTime.Now,
                            costo_unitario  = !string.IsNullOrEmpty(referencia_valor)
                                ? Convert.ToDecimal(referencia_valor)
                                : 0,
                            id_encabezado = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0
                        };
                        context.lineas_documento.Add(crearLineasOrigen);
                        sequ++;
                    }
                }

                centro_costo centroValorCero = context.centro_costo.FirstOrDefault(x => x.pre_centcst == "0");
                int          idCentroCero    = centroValorCero != null?Convert.ToInt32(centroValorCero.centcst_id) : 0;

                icb_terceros terceroValorCero = context.icb_terceros.FirstOrDefault(x => x.doc_tercero == "0");
                int          idTerceroCero    = centroValorCero != null?Convert.ToInt32(terceroValorCero.tercero_id) : 0;

                int secuencia = 1;
                foreach (var parametro in parametrosCuentasVerificar)
                {
                    cuenta_puc buscarCuenta = context.cuenta_puc.FirstOrDefault(x => x.cntpuc_id == parametro.cuenta);
                    if (buscarCuenta != null)
                    {
                        if (parametro.id_nombre_parametro == 9 || parametro.id_nombre_parametro == 12)
                        {
                            mov_contable movNuevo = new mov_contable
                            {
                                id_encab =
                                    buscarUltimoEncabezado != null ? buscarUltimoEncabezado.idencabezado : 0,
                                fec_creacion      = DateTime.Now,
                                userid_creacion   = Convert.ToInt32(Session["user_usuarioid"]),
                                idparametronombre = parametro.id_nombre_parametro,
                                cuenta            = parametro.cuenta,
                                centro            = parametro.centro,
                                nit = 0,
                                fec = DateTime.Now,
                                seq = secuencia
                            };

                            // La validacion se hace ya que cuando el parametro es 9 (es decir inventario) se invierte el credito con debito
                            if (parametro.id_nombre_parametro == 12)
                            {
                                if (buscarCuenta.concepniff == 1)
                                {
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    movNuevo.credito     = sumaCostosReferencias;
                                    movNuevo.creditoniif = sumaCostosReferencias;
                                    //}
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                    //{
                                    //    movNuevo.debitoniif = sumaCostosReferencias;
                                    //    movNuevo.debito = sumaCostosReferencias;
                                    //}
                                }

                                if (buscarCuenta.concepniff == 4)
                                {
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    movNuevo.creditoniif = sumaCostosReferencias;
                                }
                                //}
                                //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                //{
                                //    movNuevo.debitoniif = sumaCostosReferencias;
                                //}

                                if (buscarCuenta.concepniff == 5)
                                {
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    movNuevo.credito = sumaCostosReferencias;
                                }
                                //}
                                //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                //{
                                //    movNuevo.debito = sumaCostosReferencias;
                                //}
                            }
                            else
                            {
                                if (buscarCuenta.concepniff == 1)
                                {
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    movNuevo.debitoniif = sumaCostosReferencias;
                                    movNuevo.debito     = sumaCostosReferencias;
                                    //}
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                    //{
                                    //    movNuevo.credito = sumaCostosReferencias;
                                    //    movNuevo.creditoniif = sumaCostosReferencias;
                                    //}
                                }

                                if (buscarCuenta.concepniff == 4)
                                {
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    movNuevo.debitoniif = sumaCostosReferencias;
                                }
                                //}
                                //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                //{
                                //    movNuevo.creditoniif = sumaCostosReferencias;
                                //}

                                if (buscarCuenta.concepniff == 5)
                                {
                                    //if (buscarCuenta.mov_cnt.ToUpper().Contains("DEBITO"))
                                    //{
                                    movNuevo.debito = sumaCostosReferencias;
                                }
                                //}
                                //if (buscarCuenta.mov_cnt.ToUpper().Contains("CREDITO"))
                                //{
                                //    movNuevo.credito = sumaCostosReferencias;
                                //}
                            }

                            if (buscarCuenta.manejabase)
                            {
                                movNuevo.basecontable = sumaCostosReferencias;
                            }

                            if (buscarCuenta.documeto)
                            {
                                movNuevo.documento = "1";
                            }

                            if (buscarCuenta.tercero)
                            {
                                movNuevo.nit = nitTraslado;
                            }

                            movNuevo.detalle = "Sube costo de referencias";
                            secuencia++;

                            DateTime        fechaHoy = DateTime.Now;
                            cuentas_valores buscar_cuentas_valores = context.cuentas_valores.FirstOrDefault(x =>
                                                                                                            x.centro == parametro.centro && x.cuenta == parametro.cuenta && x.nit == movNuevo.nit &&
                                                                                                            x.ano == fechaHoy.Year && x.mes == fechaHoy.Month);
                            if (buscar_cuentas_valores != null)
                            {
                                buscar_cuentas_valores.ano    = fechaHoy.Year;
                                buscar_cuentas_valores.mes    = fechaHoy.Month;
                                buscar_cuentas_valores.cuenta = movNuevo.cuenta;
                                buscar_cuentas_valores.centro = movNuevo.centro;
                                //buscar_cuentas_valores.nit = movNuevo.nit ?? idTerceroCero;
                                buscar_cuentas_valores.nit                  = movNuevo.nit;
                                buscar_cuentas_valores.debito              += movNuevo.debito;
                                buscar_cuentas_valores.credito             += movNuevo.credito;
                                buscar_cuentas_valores.debitoniff          += movNuevo.debitoniif;
                                buscar_cuentas_valores.creditoniff         += movNuevo.creditoniif;
                                context.Entry(buscar_cuentas_valores).State = EntityState.Modified;
                            }
                            else
                            {
                                cuentas_valores crearCuentaValor = new cuentas_valores
                                {
                                    ano    = fechaHoy.Year,
                                    mes    = fechaHoy.Month,
                                    cuenta = movNuevo.cuenta,
                                    centro = movNuevo.centro,
                                    //crearCuentaValor.nit = movNuevo.nit ?? idTerceroCero;
                                    nit         = movNuevo.nit,
                                    debito      = movNuevo.debito,
                                    credito     = movNuevo.credito,
                                    debitoniff  = movNuevo.debitoniif,
                                    creditoniff = movNuevo.creditoniif
                                };
                                context.cuentas_valores.Add(crearCuentaValor);
                            }

                            context.mov_contable.Add(movNuevo);
                        }
                    }
                }

                try
                {
                    int guardarLineasYMovimientos = context.SaveChanges();

                    if (guardarLineasYMovimientos > 0)
                    {
                        if (buscarGrupoConsecutivos != null)
                        {
                            List <icb_doc_consecutivos> numerosConsecutivos = context.icb_doc_consecutivos
                                                                              .Where(x => x.doccons_grupoconsecutivo == numeroGrupo).ToList();
                            foreach (icb_doc_consecutivos item in numerosConsecutivos)
                            {
                                item.doccons_siguiente    = item.doccons_siguiente + 1;
                                context.Entry(item).State = EntityState.Modified;
                            }

                            context.SaveChanges();
                        }

                        TempData["mensaje"] =
                            "El cambio de costo de la(s) referencia(s) se ha realizado correctamente con numero " +
                            numeroConsecutivo;
                        ViewBag.numDocumentoCreado = numeroConsecutivo;
                    }
                }
                catch (Exception ex)
                {
                    Exception sss = ex.InnerException;
                }
            }

            ListasDesplegables();
            BuscarFavoritos(menu);
            return(View());
        }
Exemple #30
0
        public JsonResult buscarPaginados(string filtroGeneral, string concepto, string ano, string mes)
        {
            if (Session["user_usuarioid"] != null)
            {
                //cantidad de registros a buscar
                string draw = Request.Form.GetValues("draw").FirstOrDefault();
                //indice desde el cual comienza a buscar(por ejemplo desde el 10° registro)
                string start = Request.Form.GetValues("start").FirstOrDefault();
                //cantidad de registros a parsear
                string length = Request.Form.GetValues("length").FirstOrDefault();
                //si hay un campo de busqueda en el datatable(no hay) busca
                string search = Request.Form.GetValues("search[value]").FirstOrDefault();
                //esto me sirve para reiniciar la consulta cuando ordeno las columnas de menor a mayor y que no me vuelva a recalcular todo
                //ES IMPORTANTE QUE LA COLUMNA EN EL DATATABLE TENGA EL NOMBRE DE LA TABLA O VISTA A CONSULTAR, porque vamos a usarla para ordenar.
                string sortColumn = Request.Form
                                    .GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]")
                                    .FirstOrDefault();
                string sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
                search = search.Replace(" ", "");
                int pagina   = Convert.ToInt32(start);
                int pageSize = Convert.ToInt32(length);

                int skip = 0;
                if (pagina == 0)
                {
                    skip = 0;
                }
                else
                {
                    skip = pagina;
                }

                CultureInfo elGR = CultureInfo.CreateSpecificCulture("el-GR");

                int idusuario = Convert.ToInt32(Session["user_usuarioid"]);

                //por si necesito el rol del usuario
                //comentario para hacer diferencia
                icb_sysparameter admin1 = context.icb_sysparameter.Where(d => d.syspar_cod == "P109").FirstOrDefault();
                int admin = admin1 != null?Convert.ToInt32(admin1.syspar_value) : 1;

                Expression <Func <vw_lista_vh_nuevos, bool> > predicado  = PredicateBuilder.True <vw_lista_vh_nuevos>();
                Expression <Func <vw_lista_vh_nuevos, bool> > predicado2 = PredicateBuilder.False <vw_lista_vh_nuevos>();
                Expression <Func <vw_lista_vh_nuevos, bool> > predicado3 = PredicateBuilder.False <vw_lista_vh_nuevos>();
                //comienzo a hacer mis verificaciones
                //valido si el tecnico está seleccionado (depende del rol va a ver lo suyo solamente o el de todos los tecnicos)
                if (!string.IsNullOrEmpty(concepto))
                {
                    predicado = predicado.And(d => d.concepto.Contains(concepto.ToUpper()));
                }
                if (!string.IsNullOrEmpty(ano))
                {
                    predicado = predicado.And(d => d.ano.ToString().Contains(ano));
                }
                if (!string.IsNullOrEmpty(mes))
                {
                    predicado = predicado.And(d => d.mes.ToString().Contains(mes));
                }
                if (!string.IsNullOrEmpty(filtroGeneral))
                {
                    predicado2 = predicado2.Or(d => 1 == 1 && d.ano.Contains(filtroGeneral));
                    predicado2 = predicado2.Or(d => 1 == 1 && d.mes.Contains(filtroGeneral));
                    predicado2 = predicado2.Or(d => 1 == 1 && d.concepto.Contains(filtroGeneral.ToUpper()));
                    predicado2 = predicado2.Or(d => 1 == 1 && d.descripcion.Contains(filtroGeneral.ToUpper()));
                    predicado2 = predicado2.Or(d => 1 == 1 && d.precioespecial.Contains(filtroGeneral));
                    predicado2 = predicado2.Or(d => 1 == 1 && d.preciolista.Contains(filtroGeneral));
                    predicado2 = predicado2.Or(d => 1 == 1 && d.anio_modelo.Contains(filtroGeneral));

                    predicado = predicado.And(predicado2);
                }

                //contamos el TOTAL de registros que da la consulta
                int registrostotales = context.vw_lista_vh_nuevos.Where(predicado).Count();
                //si el ordenamiento es ascendente o descendente es distinto
                if (pageSize == -1)
                {
                    pageSize = registrostotales;
                }
                //creo un objeto de tipo lista para recibir las variables. Le pongo take 0 porque necesito que sea VACIO
                List <vw_lista_vh_nuevos> query2 = context.vw_lista_vh_nuevos.Where(predicado).Take(0).ToList();
                if (sortColumnDir == "asc")
                {
                    query2 = context.vw_lista_vh_nuevos.Where(predicado).OrderBy(GetColumnName(sortColumn).Compile())
                             .Skip(skip).Take(pageSize).ToList();
                }
                else
                {
                    query2 = context.vw_lista_vh_nuevos.Where(predicado)
                             .OrderByDescending(GetColumnName(sortColumn).Compile()).Skip(skip).Take(pageSize).ToList();
                }
                var query = query2.Select(d => new
                {
                    d.lista,
                    d.concepto,
                    d.ano,
                    d.mes,
                    d.codigo_modelo,
                    d.descripcion,
                    d.planmayor,
                    d.anio_modelo,
                    d.preciolista,
                    d.precioespecial,
                }).ToList();
                int contador = query.Count();
                return(Json(
                           new { draw, recordsFiltered = registrostotales, recordsTotal = registrostotales, data = query },
                           JsonRequestBehavior.AllowGet));
            }

            return(Json(0));
        }