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)); }
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()); }
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)); }
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")); }
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)); }
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"); }
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)); }
// 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)); }
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 })); }
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)); }
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()); }
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); }
// 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()); }
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(); } }
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"); }
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()); }
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 })); }
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)); }
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)); }
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)); }
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 }
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)); }
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; }
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)); } }
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()); }
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)); }
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)); } }
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)); }
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()); }
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)); }