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 Edit(int?id, int?menu) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tencabcotizacion cotizacion = context.tencabcotizacion.Find(id); if (cotizacion == null) { return(HttpNotFound()); } ListasDesplegables(cotizacion); ViewBag.bodega = new SelectList(context.bodega_concesionario.Where(x => x.id == cotizacion.bodega), "id", "bodccs_nombre", cotizacion.bodega); BuscarFavoritos(menu); return(View(cotizacion)); }
public ActionResult Create(tencabcotizacion 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.tipodoc); numeroConsecutivoAux = gestionConsecutivo.BuscarConsecutivo(buscarTipoDocRegistro, modelo.tipodoc, modelo.bodega); grupoconsecutivos grupoConsecutivo = context.grupoconsecutivos.FirstOrDefault(x => x.documento_id == modelo.tipodoc && x.bodega_id == modelo.bodega); if (numeroConsecutivoAux != null) { numeroConsecutivo = numeroConsecutivoAux.doccons_siguiente; } else { TempData["mensaje_error"] = "No existe un numero consecutivo asignado para este tipo de documento"; BuscarFavoritos(menu); return(View()); } modelo.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]); modelo.fecha_creacion = DateTime.Now; modelo.numero = (int)numeroConsecutivo; context.tencabcotizacion.Add(modelo); int guardar = context.SaveChanges(); if (guardar > 0) { tencabcotizacion buscarUltimoEncabezado = context.tencabcotizacion.OrderByDescending(x => x.id).FirstOrDefault(); int cantidadManoObra = Convert.ToInt32(Request["cantidadesManoObra"]); for (int i = 1; i <= cantidadManoObra; i++) { string operacion = Request["operacionManoObra" + i]; int cantidad = !string.IsNullOrEmpty(Request["cantidadManoObra" + i]) ? Convert.ToInt32(Request["cantidadManoObra" + i]) : 0; int tiempo = !string.IsNullOrEmpty(Request["tiempoManoObra" + i]) ? Convert.ToInt32(Request["tiempoManoObra" + i]) : 0; int iva = !string.IsNullOrEmpty(Request["ivaManoObra" + i]) ? Convert.ToInt32(Request["ivaManoObra" + i]) : 0; int descuento = !string.IsNullOrEmpty(Request["descuentoManoObra" + i]) ? Convert.ToInt32(Request["descuentoManoObra" + i]) : 0; int valor = !string.IsNullOrEmpty(Request["valorManoObra" + i]) ? Convert.ToInt32(Request["valorManoObra" + i]) : 0; int tarifa = !string.IsNullOrEmpty(Request["tarifaManoObra" + i]) ? Convert.ToInt32(Request["tarifaManoObra" + i]) : 0; if (operacion != null) { context.tcotdetallemanoobra.Add(new tcotdetallemanoobra { idencab = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.id : 0, operacion = operacion, cantidad = cantidad, porcendescto = descuento, porceniva = iva, tarifamanoobra = tarifa, tiempo = tiempo, Valor = valor }); } } int cantidadReferencias = Convert.ToInt32(Request["cantidadesReferencias"]); for (int i = 1; i <= cantidadReferencias; i++) { string codigo_referencia = Request["referencia" + i]; int cantidad = !string.IsNullOrEmpty(Request["cantidadReferencia" + i]) ? Convert.ToInt32(Request["cantidadReferencia" + i]) : 0; int valorUnitario = !string.IsNullOrEmpty(Request["valorUnitarioReferencia" + i]) ? Convert.ToInt32(Request["valorUnitarioReferencia" + i]) : 0; int iva = !string.IsNullOrEmpty(Request["ivaReferencia" + i]) ? Convert.ToInt32(Request["ivaReferencia" + i]) : 0; int descuento = !string.IsNullOrEmpty(Request["descuentoReferencia" + i]) ? Convert.ToInt32(Request["descuentoReferencia" + i]) : 0; int costo = !string.IsNullOrEmpty(Request["costoReferencia" + i]) ? Convert.ToInt32(Request["costoReferencia" + i]) : 0; if (codigo_referencia != null) { context.tcotdetallerepuesto.Add(new tcotdetallerepuesto { idencab = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.id : 0, ref_codigo = codigo_referencia, cantidad = cantidad, valorunitario = valorUnitario, porcen_iva = iva, porcen_dscto = descuento, costo_promedio = costo }); } } int cantidadToT = Convert.ToInt32(Request["cantidadesToT"]); for (int i = 1; i <= cantidadToT; i++) { string operacion = Request["operacionToT" + i]; string descripcion = Request["descripcionToT" + i]; int cantidad = !string.IsNullOrEmpty(Request["cantidadToT" + i]) ? Convert.ToInt32(Request["cantidadToT" + i]) : 0; int tiempo = !string.IsNullOrEmpty(Request["tiempoToT" + i]) ? Convert.ToInt32(Request["tiempoToT" + i]) : 0; int precio = !string.IsNullOrEmpty(Request["precioToT" + i]) ? Convert.ToInt32(Request["precioToT" + i]) : 0; int costo = !string.IsNullOrEmpty(Request["costoToT" + i]) ? Convert.ToInt32(Request["costoToT" + i]) : 0; int iva = !string.IsNullOrEmpty(Request["ivaToT" + i]) ? Convert.ToInt32(Request["ivaToT" + i]) : 0; int descuento = !string.IsNullOrEmpty(Request["descuentoToT" + i]) ? Convert.ToInt32(Request["descuentoToT" + i]) : 0; int proveedor = !string.IsNullOrEmpty(Request["proveedorToT" + i]) ? Convert.ToInt32(Request["proveedorToT" + i]) : 0; if (operacion != null) { context.tcotdetalletot.Add(new tcotdetalletot { idencab = buscarUltimoEncabezado != null ? buscarUltimoEncabezado.id : 0, cantidad = cantidad, operacion = operacion, descripcion = descripcion, tiempo = tiempo, precio = precio, costo = costo, porceniva = iva, porcendescto = descuento, proveedor = proveedor }); } } int guardarDetalles = context.SaveChanges(); if (guardarDetalles > 0) { // Actualiza los numeros consecutivos por documento int grupoId = grupoConsecutivo != null ? grupoConsecutivo.grupo : 0; System.Collections.Generic.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"] = "El registro de la nueva cotizacion de taller fue exitosa!"; } else { TempData["mensaje_error"] = "Error de conexion con la base de datos, por favor valide..."; } } else { TempData["mensaje_error"] = "Error de conexion con la base de datos, por favor valide..."; } } ListasDesplegables(modelo); BuscarFavoritos(menu); return(View()); }
public ActionResult Edit(tencabcotizacion modelo, int?menu) { if (ModelState.IsValid) { modelo.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); modelo.fec_actualizacion = DateTime.Now; context.Entry(modelo).State = EntityState.Modified; int guardar = context.SaveChanges(); if (guardar > 0) { const string query = "DELETE FROM [dbo].[tcotdetallemanoobra] WHERE [idencab]={0}"; int rows = context.Database.ExecuteSqlCommand(query, modelo.id); int cantidadManoObra = Convert.ToInt32(Request["cantidadesManoObra"]); for (int i = 1; i <= cantidadManoObra; i++) { string operacion = Request["operacionManoObra" + i]; int cantidad = !string.IsNullOrEmpty(Request["cantidadManoObra" + i]) ? Convert.ToInt32(Request["cantidadManoObra" + i]) : 0; int tiempo = !string.IsNullOrEmpty(Request["tiempoManoObra" + i]) ? Convert.ToInt32(Request["tiempoManoObra" + i]) : 0; int iva = !string.IsNullOrEmpty(Request["ivaManoObra" + i]) ? Convert.ToInt32(Request["ivaManoObra" + i]) : 0; int descuento = !string.IsNullOrEmpty(Request["descuentoManoObra" + i]) ? Convert.ToInt32(Request["descuentoManoObra" + i]) : 0; int valor = !string.IsNullOrEmpty(Request["valorManoObra" + i]) ? Convert.ToInt32(Request["valorManoObra" + i]) : 0; int tarifa = !string.IsNullOrEmpty(Request["tarifaManoObra" + i]) ? Convert.ToInt32(Request["tarifaManoObra" + i]) : 0; if (operacion != null) { context.tcotdetallemanoobra.Add(new tcotdetallemanoobra { idencab = modelo.id, operacion = operacion, cantidad = cantidad, porcendescto = descuento, porceniva = iva, tarifamanoobra = tarifa, tiempo = tiempo, Valor = valor }); } } const string query2 = "DELETE FROM [dbo].[tcotdetallerepuesto] WHERE [idencab]={0}"; int rows2 = context.Database.ExecuteSqlCommand(query2, modelo.id); int cantidadReferencias = Convert.ToInt32(Request["cantidadesReferencias"]); for (int i = 1; i <= cantidadReferencias; i++) { string codigo_referencia = Request["referencia" + i]; int cantidad = !string.IsNullOrEmpty(Request["cantidadReferencia" + i]) ? Convert.ToInt32(Request["cantidadReferencia" + i]) : 0; int valorUnitario = !string.IsNullOrEmpty(Request["valorUnitarioReferencia" + i]) ? Convert.ToInt32(Request["valorUnitarioReferencia" + i]) : 0; int iva = !string.IsNullOrEmpty(Request["ivaReferencia" + i]) ? Convert.ToInt32(Request["ivaReferencia" + i]) : 0; int descuento = !string.IsNullOrEmpty(Request["descuentoReferencia" + i]) ? Convert.ToInt32(Request["descuentoReferencia" + i]) : 0; int costo = !string.IsNullOrEmpty(Request["costoReferencia" + i]) ? Convert.ToInt32(Request["costoReferencia" + i]) : 0; if (codigo_referencia != null) { context.tcotdetallerepuesto.Add(new tcotdetallerepuesto { idencab = modelo.id, ref_codigo = codigo_referencia, cantidad = cantidad, valorunitario = valorUnitario, porcen_iva = iva, porcen_dscto = descuento, costo_promedio = costo }); } } const string query3 = "DELETE FROM [dbo].[tcotdetalletot] WHERE [idencab]={0}"; int rows3 = context.Database.ExecuteSqlCommand(query3, modelo.id); int cantidadToT = Convert.ToInt32(Request["cantidadesToT"]); for (int i = 1; i <= cantidadToT; i++) { string operacion = Request["operacionToT" + i]; string descripcion = Request["descripcionToT" + i]; int cantidad = !string.IsNullOrEmpty(Request["cantidadToT" + i]) ? Convert.ToInt32(Request["cantidadToT" + i]) : 0; int tiempo = !string.IsNullOrEmpty(Request["tiempoToT" + i]) ? Convert.ToInt32(Request["tiempoToT" + i]) : 0; int precio = !string.IsNullOrEmpty(Request["precioToT" + i]) ? Convert.ToInt32(Request["precioToT" + i]) : 0; int costo = !string.IsNullOrEmpty(Request["costoToT" + i]) ? Convert.ToInt32(Request["costoToT" + i]) : 0; int iva = !string.IsNullOrEmpty(Request["ivaToT" + i]) ? Convert.ToInt32(Request["ivaToT" + i]) : 0; int descuento = !string.IsNullOrEmpty(Request["descuentoToT" + i]) ? Convert.ToInt32(Request["descuentoToT" + i]) : 0; int proveedor = !string.IsNullOrEmpty(Request["proveedorToT" + i]) ? Convert.ToInt32(Request["proveedorToT" + i]) : 0; if (operacion != null) { context.tcotdetalletot.Add(new tcotdetalletot { idencab = modelo.id, cantidad = cantidad, operacion = operacion, descripcion = descripcion, tiempo = tiempo, precio = precio, costo = costo, porceniva = iva, porcendescto = descuento, proveedor = proveedor }); } } int guardarDetalles = context.SaveChanges(); if (guardarDetalles > 0) { TempData["mensaje"] = "La actualización de la cotizacion de taller fue exitosa!"; } else { TempData["mensaje_error"] = "Error de conexion con la base de datos, por favor valide..."; } } else { TempData["mensaje_error"] = "Error de conexion con la base de datos, por favor valide..."; } } ListasDesplegables(modelo); return(RedirectToAction("Edit", "cotizacionTaller", new { modelo.id, menu })); }