Esempio n. 1
0
        public void ListasDesplegables(tencabcotizacion cotizacion)
        {
            icb_sysparameter idCotizacionTaller = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P47");
            int idCotizacion = idCotizacionTaller != null?Convert.ToInt32(idCotizacionTaller.syspar_value) : 0;

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

            DbSet <bodega_concesionario> bodegas = context.bodega_concesionario;

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

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

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

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

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

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

            DbSet <ttempario> tempario = context.ttempario;

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

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

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

            ViewBag.selectProveedorToT = new SelectList(buscarProveedores, "prtercero_id", "nombre");
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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 }));
        }