Example #1
0
        public bool Create()
        {
            try
            {
                PRODUCTO producto = new PRODUCTO();
                producto.ID               = this.Id;
                producto.ID_PRODUCTO      = this.IdProducto;
                producto.DESCRIPCION      = this.Descripcion;
                producto.PRECIO           = this.Precio;
                producto.STOCK            = this.Stock;
                producto.STOCK_CRITICO    = this.StockCritico;
                producto.TIPO_PRODUCTO_ID = this.TipoProducId;

                CommonBC.DBConexion.PRODUCTO.Add(producto);
                CommonBC.DBConexion.SaveChanges();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #2
0
        public bool RegistrarProducto(cProducto pProducto, cInventario pInventario)
        {
            bool resultado = true;

            try
            {
                PRODUCTO prod = AsignarDTOProducto(pProducto);
                contexto.PRODUCTO.InsertOnSubmit(prod);
                contexto.SubmitChanges();
                string producto = "" + prod.IDPRODUCTO;
                pInventario.IdProducto = prod.IDPRODUCTO;
                INVENTARIO inventario = AsignarDTOInventario(pInventario);
                contexto.INVENTARIO.InsertOnSubmit(inventario);
                contexto.SubmitChanges();
            }
            catch (Exception)
            {
                resultado = false;
                throw;
            }

            return(resultado);
        }
 public static bool Update(PRODUCTO p)
 {
     using (DeliveryEntidades db = new DeliveryEntidades())
     {
         using (var transaction = db.Database.BeginTransaction())
         {
             try
             {
                 db.PRODUCTO.Attach(p);
                 db.Entry(p).State = System.Data.Entity.EntityState.Modified;
                 db.SaveChanges();
                 transaction.Commit();
                 return(true);
             }
             catch (Exception ex)
             {
                 Console.WriteLine("No se ha podido actualizar  el producto " + ex.Message);
                 transaction.Rollback();
                 return(false);
             }
         }
     }
 }
Example #4
0
        public ActionResult Create(PRODUCTO producto, HttpPostedFileBase archivo)
        {
            if (ModelState.IsValid)
            {
                string nombreArchivo = "";
                if (archivo != null /* && archivo.ContentLength > 0*/)
                {
                    nombreArchivo = Path.GetFileName(archivo.FileName);
                    var path = Path.Combine(Server.MapPath("~/imagenes/productosimg/"), nombreArchivo);
                    archivo.SaveAs(path);
                }

                producto.NOMFOTO = nombreArchivo;

                db.PRODUCTO.Add(producto);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.Categorias = new SelectList(db.TIPO, "COD_TIPO", "TIP_PRO");
            ViewBag.Marcas     = new SelectList(db.MARCA, "COD_MARCA", "MAR_PRO");
            return(View(producto));
        }
Example #5
0
        public bool Update()
        {
            try
            {
                PRODUCTO producto = CommonBC.DBConexion.PRODUCTO.First(p => p.ID == this.Id);
                producto.ID_PRODUCTO      = this.IdProducto;
                producto.DESCRIPCION      = this.Descripcion;
                producto.PRECIO           = this.Precio;
                producto.STOCK            = this.Stock;
                producto.STOCK_CRITICO    = this.StockCritico;
                producto.TIPO_PRODUCTO_ID = this.TipoProducId;

                CommonBC.DBConexion.Entry(producto).State = System.Data.EntityState.Modified;
                CommonBC.DBConexion.SaveChanges();


                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public respuesta Eliminar(int _id)
        {
            respuesta r;

            try
            {
                using (POS.DBModel.negocioEntities db = new POS.DBModel.negocioEntities())
                {
                    try
                    {
                        PRODUCTO obj = db.PRODUCTO.Find(_id);
                        obj.estado          = "0";
                        db.Entry(obj).State = System.Data.Entity.EntityState.Modified;
                        int afected = db.SaveChanges();

                        if (obj != null)
                        {
                            r = new respuesta(true, "PRODUCTO ELIMINADO CORRECTAMENTE", obj);
                        }
                        else
                        {
                            r = new respuesta(false, "NO SE PUDO ELIMINAR EL PRODUCTO");
                        }
                    }
                    catch (Exception ex)
                    {
                        r = new respuesta(false, "ERROR AL ELIMINAR PRODUCTO", ex.Message.ToString());
                    }
                }
            }
            catch (Exception e)
            {
                r = new respuesta(false, "CONEXION CON LA DB RECHAZADA", e.Message.ToString());
            }

            return(r);
        }
        public ActionResult Create([Bind(Include = "CODIGOPEDIDO,CODIGOCLIENTE,CODIGOPRODUCTO,FECHAPEDIDO,CANTIDADPEDIDO")] PEDIDO pEDIDO)
        {
            CLIENTE  client  = new CLIENTE();
            PRODUCTO product = new PRODUCTO();
            Email    envio   = new Email();

            if (ModelState.IsValid)
            {
                try
                {
                    db.PEDIDO.Add(pEDIDO);
                    db.SaveChanges();
                    client  = db.CLIENTE.Find(pEDIDO.CODIGOCLIENTE);
                    product = db.PRODUCTO.Find(pEDIDO.CODIGOPRODUCTO);
                    //if (stock.CANTIDADPRODUCTO >= pEDIDO.CANTIDADPEDIDO)
                    //{
                    envio.Nombre    = client.NOMBRECLIENTE;
                    envio.Contenido = " <p align=center><b>Se ha realizado un perdido con el sigioente detalle</b></p><br/>" +
                                      "Nombre y apellidos del cliente: " + client.NOMBRECLIENTE + " " + client.APELLIDOCLIENTE + "<br/>" +
                                      "<pre>Producto seleccionado: " + product.NOMBREPRODUCTO + " \tValor unitario: " + product.PRECIOPRODUCTO + "</pre > <br/>" +
                                      "<pre>Cantidad del pedido: " + pEDIDO.CANTIDADPEDIDO + "    \tTotal a pagar: " + Convert.ToInt32(pEDIDO.CANTIDADPEDIDO) * Convert.ToInt32(product.PRECIOPRODUCTO) + "</pre><br/>" +
                                      "Para retirar su pedido favor acérquese directamente a la cámara artesanal<br/>Gracias por su compra";
                    envio.enviaEmail(client.CORREOCLIENTE);
                    return(RedirectToAction("Index"));
                    //}
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("Error en el ingreso de datos: ", e.Message);
                }
            }
            Console.WriteLine("Error inesperado");
            ViewBag.CODIGOCLIENTE  = new SelectList(db.CLIENTE, "CODIGOCLIENTE", "NOMBRECLIENTE", pEDIDO.CODIGOCLIENTE);
            ViewBag.CODIGOPRODUCTO = new SelectList(db.PRODUCTO, "CODIGOPRODUCTO", "NOMBREPRODUCTO", pEDIDO.CODIGOPRODUCTO);
            return(View(pEDIDO));
        }
Example #8
0
        public ActionResult Create([Bind(Include = "IDProducto,Codigo,Nombre,UnidadesXCaja,CostoUnid,IDCategoriaFK,TotalCajas,TotalSueltas,FechaVencimiento,IDClienteFK,UrlImagen")] PRODUCTO pRODUCTO, HttpPostedFileBase imagenProducto)
        {
            if (imagenProducto != null && imagenProducto.ContentLength > 0)
            {
                byte[] imageData = null;
                using (var binaryReader = new BinaryReader(imagenProducto.InputStream))
                {
                    imageData = binaryReader.ReadBytes(imagenProducto.ContentLength);
                }
                //setear la imagen a la entidad que se creara
                pRODUCTO.imagenProducto = imageData;
            }

            if (ModelState.IsValid)
            {
                db.PRODUCTO.Add(pRODUCTO);
                db.SaveChanges();
                return(RedirectToAction("Producto"));
            }

            ViewBag.IDCategoriaFK = new SelectList(db.CATEGORIA, "IdCategoria", "Nombre", pRODUCTO.IDCategoriaFK);
            ViewBag.IDClienteFK   = new SelectList(db.CLIENTE, "IDCliente", "Alias", pRODUCTO.IDClienteFK);
            return(View(pRODUCTO));
        }
Example #9
0
 public List <PRODUCTO> InsertProcesoVentaAccordingToUsuario(List <PRODUCTO> productos, decimal procesoventa, decimal ordenid)
 {
     try
     {
         var producto        = new PRODUCTO();
         var newProducto     = new PRODUCTO();
         var newProductoList = new List <PRODUCTO>();
         using (FeriaVirtualEntities db = new FeriaVirtualEntities())
         {
             foreach (var item in productos)
             {
                 producto    = db.PRODUCTO.Where(p => p.IDPRODUCTO == item.IDPRODUCTO).FirstOrDefault();
                 newProducto = new PRODUCTO
                 {
                     IDPRODUCTO             = DatabaseUtil.GetNextIDProducto(),
                     DESCRIPCION            = producto.DESCRIPCION,
                     PRECIO                 = producto.PRECIO,
                     STOCK                  = producto.STOCK,
                     PRODUCTOR_RUTPRODUCTOR = producto.PRODUCTOR_RUTPRODUCTOR,
                     TIPOVENTA              = producto.TIPOVENTA,
                     IDPROCESOVENTA         = procesoventa,
                     ORDEN_IDORDEN          = ordenid,
                     ESTADOPROCESO          = "Pendiente"
                 };
                 db.PRODUCTO.Add(newProducto);
                 newProductoList.Add(newProducto);
                 db.SaveChanges();
             }
             return(newProductoList);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
 private async void Guardar()
 {
     try
     {
         if (modo_seleccionado == MODO_OPERACION.INSERTAR)
         {
             if (await StaticSourcesViewModel.OperacionesAsync <bool>("Guardando medicamento en el catalogo", () => {
                 var _fecha_servidor = Fechas.GetFechaDateServer;
                 var _presentaciones_asignadas = new List <PRODUCTO_PRESENTACION_MED>();
                 if (lstPresentacion_Medicamentos_Asignadas != null && lstPresentacion_Medicamentos_Asignadas.Count > 0)
                 {
                     _presentaciones_asignadas = lstPresentacion_Medicamentos_Asignadas.Select(s => new PRODUCTO_PRESENTACION_MED
                     {
                         ID_PRESENTACION_MEDICAMENTO = s.ID_PRESENTACION_MEDICAMENTO,
                         ID_USUARIO = GlobalVar.gUsr,
                         FECHA_REGISTRO = _fecha_servidor
                     }).ToList();
                 }
                 var _medicamento = new PRODUCTO
                 {
                     ACTIVO = _selectedEstatusValue,
                     DESCRIPCION = textDescripcion,
                     ID_CATEGORIA = selectedProductoCategoriaValue,
                     ID_FORMA_FARM = selectedFormaFarmaceuticaValue,
                     ID_SUBCATEGORIA = isSubcategoriaVisible ? selectedProductoSubcategoriaValue : (int?)null,
                     ID_UNIDAD_MEDIDA = selectedProductoUMValue,
                     NOMBRE = textMedicamento,
                     PRODUCTO_PRESENTACION_MED = _presentaciones_asignadas.Count > 0 ? _presentaciones_asignadas : null
                 };
                 new cMedicamento().Insertar(_medicamento);
                 return(true);
             }))
             {
                 ListProductos = new RangeEnabledObservableCollection <PRODUCTO>();
                 ListProductos.InsertRange(await SegmentarResultadoBusqueda());
                 if (ListProductos == null || ListProductos.Count() == 0)
                 {
                     EmptyVisible = true;
                 }
                 else
                 {
                     EmptyVisible = false;
                 }
                 AgregarVisible        = false;
                 GuardarMenuEnabled    = false;
                 CancelarMenuEnabled   = false;
                 EditarMenuEnabled     = true;
                 AgregarMenuEnabled    = true;
                 IsMedicamentosEnabled = true;
                 new Dialogos().ConfirmacionDialogo("EXITO!", "El medicamento fue guardado en el catalogo con exito");
                 StaticSourcesViewModel.SourceChanged = false;
             }
         }
         else if (modo_seleccionado == MODO_OPERACION.EDICION)
         {
             if (await StaticSourcesViewModel.OperacionesAsync <bool>("Guardando medicamento en el catalogo", () =>
             {
                 var _fecha_servidor = Fechas.GetFechaDateServer;
                 var _presentaciones_asignadas = new List <PRODUCTO_PRESENTACION_MED>();
                 if (lstPresentacion_Medicamentos_Asignadas != null && lstPresentacion_Medicamentos_Asignadas.Count > 0)
                 {
                     _presentaciones_asignadas = lstPresentacion_Medicamentos_Asignadas.Select(s => new PRODUCTO_PRESENTACION_MED
                     {
                         ID_PRODUCTO = selectedProducto.ID_PRODUCTO,
                         ID_PRESENTACION_MEDICAMENTO = s.ID_PRESENTACION_MEDICAMENTO,
                         ID_USUARIO = GlobalVar.gUsr,
                         FECHA_REGISTRO = _fecha_servidor
                     }).ToList();
                 }
                 var _medicamento = new PRODUCTO
                 {
                     ID_PRODUCTO = selectedProducto.ID_PRODUCTO,
                     ACTIVO = _selectedEstatusValue,
                     DESCRIPCION = textDescripcion,
                     ID_CATEGORIA = selectedProductoCategoriaValue,
                     ID_FORMA_FARM = selectedFormaFarmaceuticaValue,
                     ID_SUBCATEGORIA = isSubcategoriaVisible ? selectedProductoSubcategoriaValue : (int?)null,
                     ID_UNIDAD_MEDIDA = selectedProductoUMValue,
                     NOMBRE = textMedicamento
                 };
                 new cMedicamento().Editar(_medicamento, _presentaciones_asignadas);
                 return(true);
             }))
             {
                 ListProductos = new RangeEnabledObservableCollection <PRODUCTO>();
                 ListProductos.InsertRange(await SegmentarResultadoBusqueda());
                 if (ListProductos == null || ListProductos.Count() == 0)
                 {
                     EmptyVisible = true;
                 }
                 else
                 {
                     EmptyVisible = false;
                 }
                 AgregarVisible        = false;
                 GuardarMenuEnabled    = false;
                 CancelarMenuEnabled   = false;
                 EditarMenuEnabled     = true;
                 AgregarMenuEnabled    = true;
                 IsMedicamentosEnabled = true;
                 new Dialogos().ConfirmacionDialogo("EXITO!", "El medicamento fue guardado en el catalogo con exito");
                 StaticSourcesViewModel.SourceChanged = false;
             }
         }
         else if (modo_seleccionado == MODO_OPERACION.ELIMINAR)
         {
             if (await StaticSourcesViewModel.OperacionesAsync <bool>("Guardando medicamento en el catalogo", () =>
             {
                 var _medicamento = new PRODUCTO
                 {
                     ID_PRODUCTO = selectedProducto.ID_PRODUCTO,
                     ACTIVO = "N",
                     DESCRIPCION = selectedProducto.DESCRIPCION,
                     ID_CATEGORIA = selectedProducto.ID_CATEGORIA,
                     ID_FORMA_FARM = selectedProducto.ID_FORMA_FARM,
                     ID_SUBCATEGORIA = selectedProducto.ID_SUBCATEGORIA,
                     ID_UNIDAD_MEDIDA = selectedProducto.ID_UNIDAD_MEDIDA,
                     NOMBRE = selectedProducto.NOMBRE
                 };
                 new cMedicamento().Editar(_medicamento);
                 return(true);
             }))
             {
                 ListProductos = new RangeEnabledObservableCollection <PRODUCTO>();
                 ListProductos.InsertRange(await SegmentarResultadoBusqueda());
                 if (ListProductos == null || ListProductos.Count() == 0)
                 {
                     EmptyVisible = true;
                 }
                 else
                 {
                     EmptyVisible = false;
                 }
                 new Dialogos().ConfirmacionDialogo("EXITO!", "El medicamento fue cambiado a inactivo con exito");
             }
         }
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar en el catalogo de medicamentos.", ex);
     }
 }
Example #11
0
 void CamposProducto_(string ProductoProveedor, string CodigoProducto, string CodigoFabrica, string CodigoEan, string CodigoDun, string productoDescripcion, string ProductoLinea,
                      string ProductoMarca, string ProductoGrupo, string ProductoClase, string ProductoCategoria, string ProductoObservacion, int ProductoMedida, string ProductoMedidaAnt,
                      decimal ProductoPeso, int ProductoFactorMinimo, bool ProductoVenta, bool ProductoCompra, bool ProductoCombo, bool ProductoUnilever, bool ProductoWeb, bool ProductoAfecto,
                      bool ProductoActivo, bool ProductoPercepcion, bool ProductoDetraccion, string ProductoOrden)
 {
     using (var Context = new LiderEntities())
     {
         PRODUCTO Art = new PRODUCTO();
         Art.Producto1      = CodigoProducto;
         Art.Marca          = ProductoMarca;
         Art.Descripcion    = productoDescripcion;
         Art.ConIgv         = ProductoAfecto;
         Art.StockMin       = 1;
         Art.StockMax       = 100;
         Art.StockAc        = (decimal)0.00;
         Art.StockDia       = (decimal)0.00;
         Art.PrecMayContado = (decimal)0.00;
         Art.PrecMenContado = (decimal)0.00;
         Art.PrecMayCredito = (decimal)0.00;
         Art.PrecMenCredito = (decimal)0.00;
         Art.PrecEspecial   = (decimal)0.00;
         Art.CanEspecial    = 0;
         Art.CodAlterno     = CodigoProducto;
         Art.Peso           = ProductoPeso;
         Art.Costo          = (decimal)0.00;
         Art.UniMed         = Context.PlantillaUnidads.Where(x => x.PKID == ProductoMedida).Select(p => p.Abreviacion.Trim()).FirstOrDefault();
         Art.Activo         = ProductoActivo;
         Art.Unidades       = 1;
         Art.StockMal       = (decimal)0.00;
         Art.ean13          = CodigoEan;
         Art.grupo          = ProductoGrupo;
         Art.stkbafecha     = (decimal)0.00;
         Art.stkmafecha     = (decimal)0.00;
         Art.comimayor      = (decimal)0.00;
         Art.comimenor      = (decimal)0.00;
         Art.credmayor      = (decimal)0.00;
         Art.credmenor      = (decimal)0.00;
         Art.codbase        = CodigoProducto;
         Art.proveedor      = ProductoProveedor;
         Art.linea          = ProductoLinea;
         Art.marcas         = string.Empty;
         Art.minimomay      = (decimal)0.00;
         Art.categoria      = ProductoCategoria;
         Art.ncodigo        = string.Empty;
         Art.nunimed        = string.Empty;
         Art.PrecSEspecial  = (decimal)0.00;
         Art.percepcion     = ProductoPercepcion;
         Art.priesgomaycon  = (decimal)0.00;
         Art.priesgomencon  = (decimal)0.00;
         Art.priesgomaycre  = (decimal)0.00;
         Art.priesgomencre  = (decimal)0.00;
         Art.costorep       = (decimal)0.00;
         Art.PrecSSEspecial = (decimal)0.00;
         Art.comiespecial   = (decimal)0.00;
         Art.comisespecial  = (decimal)0.00;
         Art.detraccion     = ProductoDetraccion;
         Art.pdetraccion    = (decimal)0.00;
         Art.conivap        = false;
         Art.Meta_Cant      = string.Empty;
         Art.Meta           = string.Empty;
         Art.sku            = CodigoFabrica;
         Art.factor         = ProductoFactorMinimo;
         Art.clase_producto = ProductoClase;
         Art.Orden          = ProductoOrden;
         Art.CodigoUM       = string.Empty;
         Art.IdClaseBSC     = string.Empty;
         Art.FP             = 1;
         Art.StatusWeb      = ProductoWeb;
         Art.StatusDms      = ProductoUnilever;
         Art.ArticuloVenta  = ProductoVenta;
         Art.ArticuloCompra = ProductoVenta;
         Art.ProductoCombo  = ProductoCombo;
         Art.IDUnidad       = ProductoMedida;
         Context.PRODUCTOes.Add(Art);
         Context.SaveChanges();
     }
     Refrescar();
 }
Example #12
0
        public ActionResult Salida()
        {
            Stream req = Request.InputStream;

            req.Seek(0, System.IO.SeekOrigin.Begin);
            string json = new StreamReader(req).ReadToEnd();

            var    dbTransaction = db.Database.BeginTransaction();
            Object result;

            try
            {
                EMPLEADO empleado = this.empleado();

                JObject input = (JObject)JsonConvert.DeserializeObject(json);

                var productos = input.GetValue("productos");

                foreach (JObject element in productos)
                {
                    int productId = element.GetValue("id").ToObject <int>();
                    var salida    = element.GetValue("salida").ToObject <string>();

                    PRODUCTO producto = db.PRODUCTOes.Find(productId);

                    if (salida == "")
                    {
                        throw new Exception("Por favor llene todos los campos de salida");
                    }

                    decimal cantidad = db.EXISTENCIA_PRODUCTO.Where(ep => ep.id_producto == productId && ep.estado != "terminado").Sum(ep => ep.cantidad);

                    decimal salidaDecimal = decimal.Parse(salida);

                    if (salidaDecimal > cantidad)
                    {
                        throw new Exception("El cantidad de salida para el reactivo " + producto.REACTIVO.nombre + " es mayor que la existencia");
                    }

                    Boolean notificacionAlerta = false;

                    if (((cantidad - salidaDecimal) / cantidad) * 100 < producto.minimo_porcentaje)
                    {
                        notificacionAlerta = true;
                    }

                    DateTime fechaSalida = DateTime.Now;

                    foreach (EXISTENCIA_PRODUCTO existencia in producto.EXISTENCIA_PRODUCTO.Where(ep => ep.estado == "abierto"))
                    {
                        decimal cantidadSalida;

                        var cantidadExistencia = existencia.cantidad;

                        if (salidaDecimal >= cantidadExistencia)
                        {
                            cantidadSalida      = cantidadExistencia;
                            salidaDecimal      -= cantidadExistencia;
                            existencia.cantidad = 0;
                            existencia.estado   = "terminado";
                        }
                        else
                        {
                            cantidadSalida = salidaDecimal;
                            salidaDecimal  = 0;

                            existencia.cantidad -= cantidadSalida;
                            existencia.estado    = "abierto";
                        }

                        SALIDA_EXISTENCIA salidaExistencia = new SALIDA_EXISTENCIA()
                        {
                            cantidad_existencia    = cantidadSalida,
                            cantidad_salida        = cantidadSalida,
                            fecha_salida           = fechaSalida,
                            id_empleado            = empleado.id_empleado,
                            id_existencia_producto = existencia.id_existencia_producto,
                            id_unidad   = existencia.PRODUCTO.UNIDAD.id_unidad,
                            id_reactivo = existencia.PRODUCTO.id_reactivo
                        };

                        db.SALIDA_EXISTENCIA.Add(salidaExistencia);

                        if (salidaDecimal == 0)
                        {
                            break;
                        }
                    }

                    foreach (EXISTENCIA_PRODUCTO existencia in producto.EXISTENCIA_PRODUCTO.Where(ep => ep.estado == "cerrado"))
                    {
                        decimal cantidadSalida;

                        var cantidadExistencia = existencia.cantidad;

                        if (salidaDecimal >= cantidadExistencia)
                        {
                            cantidadSalida      = cantidadExistencia;
                            salidaDecimal      -= cantidadExistencia;
                            existencia.cantidad = 0;
                            existencia.estado   = "terminado";
                        }
                        else
                        {
                            cantidadSalida = salidaDecimal;
                            salidaDecimal  = 0;

                            existencia.cantidad -= cantidadSalida;
                            existencia.estado    = "abierto";
                        }

                        SALIDA_EXISTENCIA salidaExistencia = new SALIDA_EXISTENCIA()
                        {
                            cantidad_existencia    = cantidadSalida,
                            cantidad_salida        = cantidadSalida,
                            fecha_salida           = fechaSalida,
                            id_empleado            = empleado.id_empleado,
                            id_existencia_producto = existencia.id_existencia_producto,
                            id_unidad   = existencia.PRODUCTO.UNIDAD.id_unidad,
                            id_reactivo = existencia.PRODUCTO.id_reactivo
                        };

                        db.SALIDA_EXISTENCIA.Add(salidaExistencia);

                        if (salidaDecimal == 0)
                        {
                            break;
                        }
                    }

                    if (notificacionAlerta)
                    {
                        // enviar notificacion
                        Notificacion notificacionA = new Notificacion(empleado.id_empleado, "Ha dejado en alerta un producto del reactivo: " + producto.REACTIVO.nombre + ".", "Para mas detalles vea las salidas de inventario", Url.Action("reporteSalida", "Producto"));
                        notificacionA.setReceptor();
                        notificacionA.send();
                    }
                }

                db.SaveChanges();

                // enviar notificacion
                Notificacion notificacion = new Notificacion(empleado.id_empleado, "Ha efectuado una salida de inventario.", "Para mas detalles vea las salidas de inventario", Url.Action("reporteSalida", "Producto"));
                notificacion.setReceptor();
                notificacion.send();



                dbTransaction.Commit();

                result = new { isValid = true };
            }
            catch (Exception e)
            {
                dbTransaction.Rollback();

                var msg = e.Message;

                result = new { isValid = false, msg = msg };
            }

            return(Json(result));
        }
Example #13
0
 public LectorNuevaLinea()
 {
     StartPosition = FormStartPosition.CenterParent;
     InitializeComponent();
     producto = null;
 }
Example #14
0
        public ActionResult Index()
        {
            //obtener id de carrito desde cookies
            HttpCookie myCookie = Request.Cookies["CarritoCompra"];

            ViewBag.IdCarritoCompra = myCookie.Value;

            //Todos los productos en lista
            List <PRODUCTO> productos = conexionBase.PRODUCTO.Include(p => p.SUBDEPARTAMENTO).ToList();
            //Todos los dptos en lista
            List <DEPARTAMENTO> dptos = conexionBase.DEPARTAMENTO.ToList();
            //cantidad de departamentos
            int cantidadDepartamentos = dptos.Count();

            //AUXILIARES
            //Lista que se usará de salida hacia la view
            List <PRODUCTO> listaProductosSalida = new List <PRODUCTO>();
            //no usados
            List <PRODUCTO> nousados = new List <PRODUCTO>();
            //objeto producto que se usará para meter a lista
            PRODUCTO prodAux = new PRODUCTO();

            //para cada uno de los departamentos
            foreach (var departamento in dptos)
            {
                //revisar en cada uno de los productos
                foreach (var producto in productos)
                {
                    //si el producto pertenece a dicho departamento
                    if (producto.SUBDEPARTAMENTO.IDCATEGORIAPROD.Equals(departamento.IDCATEGORIAPROD))
                    {
                        //si es así, entonces prodAux será el producto actual de la lista productos (contiene todos)
                        prodAux = producto;
                        //se verifica si la lista de salida no está vacía
                        if (listaProductosSalida.Count != 0)
                        {
                            //validar: si la lista ya contiene un producto con dicha categoría
                            if (revisarSiContiene(listaProductosSalida, departamento.IDCATEGORIAPROD))
                            {
                                //intentar
                                try
                                {
                                    //eliminar todos los productos con la categoría especificada
                                    listaProductosSalida.RemoveAll(match: m => m.SUBDEPARTAMENTO.IDCATEGORIAPROD == departamento.IDCATEGORIAPROD);
                                    //añadir prodAux
                                    listaProductosSalida.Add(prodAux);
                                }
                                catch (ArgumentNullException ex)
                                {
                                    //no se encontró en caso contrario
                                    return(new HttpNotFoundResult());
                                }
                            }
                            else
                            //si la lista no contiene el producto
                            {
                                listaProductosSalida.Add(prodAux);
                            }
                        }
                        else
                        {
                            listaProductosSalida.Add(prodAux);
                        }
                    }
                }
            }
            ViewBag.listaProds = conexionBase.PRODUCTO.Include(p => p.SUBDEPARTAMENTO).ToList();
            return(View(listaProductosSalida));
        }
        public ActionResult Critico(int?IDEmpresa, int?IDCategoria, int?Stock, int?StockCritico, PRODUCTO model)
        {
            int cod = EnRol();

            ViewBag.IDEmpresa     = new SelectList(db.CLIENTE.ToList(), "IDCliente", "Alias", IDEmpresa);
            ViewBag.IDCategoria   = new SelectList(db.CATEGORIA.ToList(), "IDCategoria", "Nombre", IDCategoria);
            ViewBag.IDCategoriaFK = ViewBag.IDCategoria;
            ViewBag.IDClienteFK   = ViewBag.IDEmpresa;
            // var productos = db.PRODUCTO.Include(m => m.stock_ideal);
            //var stock2 = db.PRODUCTO.Include(m => m.CantidadTotal);
            //int porcentje = (stock2 * 100) / productos;
            //var porcentaje = (model.CantidadTotal.Value * 100) / model.stock_ideal;
            List <PRODUCTO> lista = db.PRODUCTO.ToList();

            lista = lista.Where(r => r.CantidadTotal.Value * 100 / r.stock_ideal.Value <= 20).ToList();
            if (!User.IsInRole("administradores"))
            {
                lista = lista.Where(r => r.IDClienteFK == cod).ToList();
            }
            //lista = lista.Where(r => r.CantidadTotal.Value *100 / r.stock_ideal.Value<=20).ToList();
            return(View(lista));
        }
        private string ObtenerDatos()
        {
            string sResul = "";

            try
            {
                StringBuilder strBuilder = new StringBuilder();
                int           i          = 0;

                strBuilder.Append("<table id='tblDatos' class='texto' style='width: 396px;'>");
                strBuilder.Append("<colgroup><col style='width:396px;' /></colgroup>");
                if (hdnOpcion.Text == "Area")
                {
                    dr = Areas.Listado(int.Parse(Session["IDFICEPI"].ToString()), Session["ADMIN"].ToString());
                }
                else if (hdnOpcion.Text == "Tipo")
                {
                    dr = TIPO.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Entrada")
                {
                    dr = ENTRADA.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Alcance")
                {
                    dr = ALCANCE.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Proceso")
                {
                    dr = PROCESO.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Producto")
                {
                    dr = PRODUCTO.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Requisito")
                {
                    dr = REQUISITO.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "CR")
                {
                    dr = CR.Catalogo();
                }
                else if (hdnOpcion.Text == "CR_TEXTO")
                {
                    dr = CR.Catalogo(short.Parse(hdnIDArea.Text));
                }
                else if (hdnOpcion.Text == "Cliente")
                {
                    dr = Cliente.Catalogo(short.Parse(hdnIDArea.Text));
                }
                else if (hdnOpcion.Text == "Proveedor")
                {
                    dr = Proveedor.Catalogo(short.Parse(hdnIDArea.Text));
                }
                else if (hdnOpcion.Text == "Causa")
                {
                    dr = CAUSA.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Origen")
                {
                    dr = ORIGEN.Catalogo(null, short.Parse(hdnIDArea.Text), "", null, 4, 0);
                }
                else if (hdnOpcion.Text == "Coordinadores")
                {
                    dr = Areas.CoordinadoresArea(int.Parse(hdnIDArea.Text));
                }
                else if (hdnOpcion.Text == "Solicitantes")
                {
                    dr = Areas.SolicitantesArea(int.Parse(hdnIDArea.Text));
                }
                else if (hdnOpcion.Text == "Especialistas")
                {
                    dr = Areas.LeerTecnicosArea(int.Parse(hdnIDArea.Text));
                }
                else if (hdnOpcion.Text == "Deficiencias")
                {
                    dr = Areas.DeficienciasArea(int.Parse(hdnIDArea.Text));
                }

                while (dr.Read())
                {
                    //if (i % 2 == 0) strBuilder.Append("<tr class=FA ");
                    //else strBuilder.Append("<tr class=FB ");
                    i++;
                    strBuilder.Append("<tr ");
                    if (hdnOpcion.Text == "Cliente" || hdnOpcion.Text == "Proveedor" || hdnOpcion.Text == "CR_TEXTO")
                    {
                        strBuilder.Append("id='" + i.ToString() + "'");
                    }
                    else
                    {
                        strBuilder.Append("id='" + dr["ID"].ToString() + "'");
                    }
                    strBuilder.Append(" onclick='ms(this)' ondblclick='aceptarClick(this);' onmousemove='TTip(event);' style='cursor:pointer;height:16px'>");
                    //strBuilder.Append("<td width='15%'>" + (int.Parse(dr["ID"].ToString())).ToString("#,###,##0") + "</td>");

                    if (hdnOpcion.Text == "Cliente" || hdnOpcion.Text == "Proveedor" || hdnOpcion.Text == "CR_TEXTO")
                    {
                        strBuilder.Append("<td style='padding-left:5px'><label class=texto id='lbl" + i.ToString() + "' style='width:315px;text-overflow:ellipsis;overflow:hidden'");
                    }
                    else
                    {
                        strBuilder.Append("<td style='padding-left:5px'><label class=texto id='lbl" + dr["ID"].ToString() + "' style='width:315px;text-overflow:ellipsis;overflow:hidden'");
                    }
                    if (dr["DESCRIPCION"].ToString().Length > 80)
                    {
                        strBuilder.Append(" title='" + dr["DESCRIPCION"].ToString() + "'");
                    }
                    strBuilder.Append("><nobr class='NBR W395'>" + dr["DESCRIPCION"] + "</nobr></label></td></tr>");
                }

                dr.Close();
                dr.Dispose();

                strBuilder.Append("</table>");

                sResul = "OK@@" + strBuilder.ToString();
            }
            catch (Exception ex)
            {
                sResul = "Error@@" + Errores.mostrarError("Error al obtener los datos", ex);
            }
            return(sResul);
        }
        public ActionResult CrearSolicitud2(SolicitudViewModel objeto)
        {
            try
            {
                string destino = " ";
                if (objeto.detalleDestino != null)
                {
                    destino = objeto.DestinoSeleccionado + " " + objeto.detalleDestino;
                }
                else
                {
                    destino = objeto.DestinoSeleccionado;
                }


                var Solicitud = new SolicitudPedido
                {
                    descripcion     = objeto.numeroOC,
                    idTipoDespacho  = 1,
                    destino         = destino,
                    fechaSolicitud  = DateTime.Now,
                    usuarioMandante = objeto.Comprador,
                    usuarioReceptor = objeto.Solicitante,
                    estado          = "Solicitada",
                    correo          = User.Identity.GetUserName(),
                    cod_estado      = 1
                };

                db.SolicitudPedido.Add(Solicitud);
                db.SaveChanges();
                var idSol = Solicitud.idSolicitud;

                var lista = objeto.productosSeleccionados.ToList();


                if (lista.Count > 0)
                {
                    foreach (var item in lista)
                    {
                        var ProductoSolicitud = new ProductoSolicitud
                        {
                            idSolicitud = idSol,
                            idProducto  = item.idProducto,
                            cantidad    = item.cantidad,
                            NombreFK    = item.NombreFK
                        };
                        var ProductoEnBodega = new ProductosEnBodega
                        {
                            idSolicitud = idSol,
                            idProducto  = item.idProducto,
                            cantidad    = item.cantidad,
                            NombreFK    = item.NombreFK
                        };
                        db.ProductoSolicitud.Add(ProductoSolicitud);
                        db.ProductosEnBodega.Add(ProductoEnBodega);
                        db.SaveChanges();
                        PRODUCTO producto = db.PRODUCTO.Find(item.idProducto);
                        db.Entry(producto).State = EntityState.Modified;
                        var stock = producto.CantidadTotal;
                        producto.CantidadTotal = stock - item.cantidad;
                        db.SaveChanges();
                    }
                }
                /*-------------------------MENSAJE DE CORREO----------------------*/

                //Creamos un nuevo Objeto de mensaje
                System.Net.Mail.MailMessage mmsg = new System.Net.Mail.MailMessage();

                //Direccion de correo electronico a la que queremos enviar el mensaje
                //if (Request.IsAuthenticated)
                //{
                //mmsg.To.Add(User.Identity.GetUserName());
                //}
                mmsg.To.Add("*****@*****.**");
                //mmsg.To.Add("*****@*****.**");

                //Nota: La propiedad To es una colección que permite enviar el mensaje a más de un destinatario

                //Asunto
                mmsg.Subject         = "Solicitud recepcionada";
                mmsg.SubjectEncoding = System.Text.Encoding.UTF8;

                //Direccion de correo electronico que queremos que reciba una copia del mensaje
                mmsg.Bcc.Add("*****@*****.**");
                //mmsg.Bcc.Add("*****@*****.**");

                //if (Request.IsAuthenticated)
                //{
                //mmsg.Bcc.Add(User.Identity.GetUserName());
                //}

                mmsg.To.Add("*****@*****.**");
                mmsg.Bcc.Add("*****@*****.**");
                mmsg.Bcc.Add("*****@*****.**");
                //mmsg.To.Add("*****@*****.**");
                //if (Request.IsAuthenticated)
                //{
                //mmsg.Bcc.Add(User.Identity.GetUserName());
                //}

                //mmsg.Bcc.Add(user); //Opcional;

                //LoginViewModel model3;

                //Cuerpo del Mensaje
                DateTime fecha = DateTime.Now;
                string   fech  = fecha.ToString("dd/MM/yyyy");

                string descripción = "<div><p>Empresa: Los Heroes</p> </br><p>OC: " + Solicitud.descripcion + "</p></ br><p>Comprador: " + Solicitud.usuarioMandante + "</p></ br><p>Solicitante: " + Solicitud.usuarioReceptor + "</p><p>Destino: " + Solicitud.destino + "</p></div>";
                string tabla       = "<table align='center' border='0' width='80%'><tr bgcolor='#70bbd9'><th>Código</th><th>Descripción</th><th>Cantidad Solicitada</th></tr>";
                string list        = "";
                int    largo       = lista.Count;
                int    contador    = 0;
                if (largo > 0)
                {
                    foreach (var item in lista)
                    {
                        var productoAux = db.PRODUCTO.Find(item.idProducto);
                        contador = contador + 1;
                        list     = list + "<tr bgcolor ='#e8e8e8'><td>" + productoAux.Codigo + "</td><td>" + productoAux.Nombre + "</td><td>" + item.cantidad + "</td></tr>";
                        if (contador == largo)
                        {
                            list = list + "</table>";
                        }
                    }
                }
                string footer = "<p align='center'> para ver más detalles de la solicitud <a href='http://losheroes.micatalogo.cl/Solicitud/Detalles/" + Solicitud.idSolicitud + "'>pinche aquí­</a></p>";
                mmsg.Body         = descripción + "</br>" + tabla + list + footer;
                mmsg.BodyEncoding = System.Text.Encoding.UTF8;
                mmsg.IsBodyHtml   = true; //Si no queremos que se envíe como HTML

                //Correo electronico desde la que enviamos el mensaje
                mmsg.From = new System.Net.Mail.MailAddress("*****@*****.**");

                /*-------------------------CLIENTE DE CORREO----------------------*/

                //Creamos un objeto de cliente de correo
                System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient();

                //Hay que crear las credenciales del correo emisor
                cliente.Credentials = new System.Net.NetworkCredential("*****@*****.**", "probag63");

                //Lo siguiente es obligatorio si enviamos el mensaje desde Gmail

                /*
                 * cliente.Port = 587;
                 * cliente.EnableSsl = true;
                 */
                cliente.Host = "mail.promomas.cl"; //Para Gmail "smtp.gmail.com";

                /*-------------------------ENVIO DE CORREO----------------------*/

                try
                {
                    //Enviamos el mensaje
                    cliente.Send(mmsg);
                }
                catch (System.Net.Mail.SmtpException ex)
                {
                    //Aquí gestionamos los errores al intentar enviar el correo
                }

                return(RedirectToAction("SolicitudPedido"));
            }
            catch
            {
                return(View());
            }
        }
        public string CrearProducto(int tipoProducto, string descripcion, string nombre, DateTime fechaVencimiento, decimal precioCompra, decimal precioVenta, int sucursal, int proveedor, int stock, int stockCritico, int categoria, int estado, int marca)
        {
            try
            {
                PRODUCTO     producto     = new PRODUCTO();
                ProductosDAL productosDAL = new ProductosDAL();

                if (tipoProducto > -1)
                {
                    if (sucursal > -1)
                    {
                        if (proveedor > -1)
                        {
                            if (nombre.Trim().Length >= 5)
                            {
                                if (categoria > -1)
                                {
                                    if (estado > -1)
                                    {
                                        if (marca > -1)
                                        {
                                            producto.DESCRIPCION         = descripcion;
                                            producto.NOMBRE              = nombre;
                                            producto.FECHA_CREACION      = DateTime.Now;
                                            producto.FECHA_ULTIMO_UPDATE = DateTime.Now;
                                            producto.PRECIO_COMPRA       = precioCompra;
                                            producto.PRECIO_VENTA        = precioVenta;
                                            producto.STOCK              = stock;
                                            producto.STOCK_CRITICO      = stockCritico;
                                            producto.CATEGORIA_ID       = categoria;
                                            producto.ESTADO_PRODUCTO_ID = estado;
                                            producto.MARCA_ID           = marca;
                                            producto.ID_PROVEERDOR      = proveedor;
                                            producto.ID_SUCURSAL        = sucursal;
                                            producto.TIPO_PRODUCTO      = tipoProducto;
                                            string proveedorSKU = proveedor.ToString();
                                            for (int i = 0; i < 3; i++)
                                            {
                                                if (proveedorSKU.Length < 3)
                                                {
                                                    proveedorSKU = "0" + proveedorSKU;
                                                }
                                            }
                                            string categoriaSKU = categoria.ToString();
                                            for (int i = 0; i < 3; i++)
                                            {
                                                if (categoriaSKU.Length < 3)
                                                {
                                                    categoriaSKU = "0" + categoriaSKU;
                                                }
                                            }
                                            string tipoProductoSKU = tipoProducto.ToString();
                                            for (int i = 0; i < 3; i++)
                                            {
                                                if (tipoProductoSKU.Length < 3)
                                                {
                                                    tipoProductoSKU = "0" + tipoProductoSKU;
                                                }
                                            }
                                            string _diaSKU  = "00";
                                            string _mesSKU  = "00";
                                            string _anioSKU = "0000";
                                            if (fechaVencimiento != default(DateTime))
                                            {
                                                producto.FECHA_VENCIMIENTO = fechaVencimiento;
                                                _diaSKU = fechaVencimiento.Day.ToString();
                                                for (int i = 0; i < 2; i++)
                                                {
                                                    if (_diaSKU.Length < 2)
                                                    {
                                                        _diaSKU = "0" + _diaSKU;
                                                    }
                                                }
                                                _mesSKU = fechaVencimiento.Month.ToString();
                                                for (int i = 0; i < 2; i++)
                                                {
                                                    if (_mesSKU.Length < 2)
                                                    {
                                                        _mesSKU = "0" + _mesSKU;
                                                    }
                                                }
                                                _anioSKU = fechaVencimiento.Year.ToString();
                                                for (int i = 0; i < 4; i++)
                                                {
                                                    if (_anioSKU.Length < 4)
                                                    {
                                                        _anioSKU = "0" + _anioSKU;
                                                    }
                                                }
                                            }
                                            string fechaSKU = fechaVencimiento.ToString();
                                            producto.SKU = proveedorSKU + categoriaSKU + _diaSKU + _mesSKU + _anioSKU + tipoProductoSKU;
                                            return(productosDAL.CrearProducto(producto));
                                        }
                                        else
                                        {
                                            return("Debe indicar una marca");
                                        }
                                    }
                                    else
                                    {
                                        return("Debe indicar un estado");
                                    }
                                }
                                else
                                {
                                    return("Debe indicar una categoria");
                                }
                            }
                            else
                            {
                                return("El nombre debe tener al menos 5 caracteres");
                            }
                        }
                        else
                        {
                            return("Debe indicar un proveedor");
                        }
                    }
                    else
                    {
                        return("Debe indicar una sucursal");
                    }
                }
                else
                {
                    return("Debe indicar una tipo de producto");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btnIngresoProd_Click(object sender, EventArgs e)
        {
            ManProducto man     = new ManProducto();
            string      familia = "";
            string      tipo    = "";
            string      marca   = "";

            if (string.IsNullOrEmpty(txPrecioEst.Text))
            {
                lbMsg.Text = ("Ingrese Precio Estimado.");
                txPrecioEst.Focus();
                return;
            }
            if (string.IsNullOrEmpty(txtSctockCri.Text))
            {
                lbMsg.Text = ("Ingrese Stock Critico.");
                txtSctockCri.Focus();
                return;
            }
            if (cbxFamilia.SelectedIndex == 0)
            {
                lbMsg.Text = ("Seleccione Familia de Producto");
                cbxFamilia.Focus();
                return;
            }
            else
            {
                familia = cbxFamilia.SelectedItem.ToString();
            }
            if (cbxTipo.SelectedIndex == 0)
            {
                lbMsg.Text = ("Seleccione Tipo de Producto");
                cbxTipo.Focus();
                return;
            }
            else
            {
                tipo = cbxTipo.SelectedItem.ToString();
            }
            if (cbxMarca.SelectedIndex == 0)
            {
                lbMsg.Text = ("Seleccione Marca de Producto");
                cbxMarca.Focus();
                return;
            }
            else
            {
                marca = cbxMarca.SelectedItem.ToString();
            }

            PRODUCTO prod = new PRODUCTO();

            prod.FAMILIA_PRODUCTO_ID = man.GetIDFamilia(familia);
            prod.TIPO_PRODUCTO_ID    = man.GetIDTipo(tipo);
            prod.MARCA_ID            = man.GetIDMarca(marca);
            prod.STOCK_CRITICO       = int.Parse(txtSctockCri.Text);
            prod.PRECIO          = int.Parse(txPrecioEst.Text);
            prod.STOCK           = 0;
            prod.CODIGO_BARRA_ID = 1;

            try
            {
                using (EntitiesHostal con = new EntitiesHostal())
                {
                    con.PRODUCTO.Add(prod);
                    con.SaveChanges();
                }
                MessageBox.Show("Producto Ingresado Correctamente");
                lbMsg.Text        = ("Producto Ingresado Correctamente.");
                txPrecioEst.Text  = "";
                txtSctockCri.Text = "";
                CargarDatos();
                LlenarGrilla();
            }
            catch (Exception ex)
            {
                lbMsg.Text = ("Producto No ingresado Reintente.");
                Console.WriteLine("PRODUCTO;;;; " + ex);
                return;
            }
        }
        private void GuardarProducto()
        {
            try
            {
                var _nombre = string.Empty;
                //Si SelectedProductoAutoComplete viene nulo entonces el nombre capturado por el usuario no encuentra en la lista o no
                //selecciono un producto de la lista sugerida de productos
                if (SelectedProductoAutoComplete == null)
                {
                    _nombre = Nombre;
                }
                else
                {
                    _nombre = SelectedProductoAutoComplete.NOMBRE;
                }
                var _producto = new PRODUCTO
                {
                    ACTIVO           = (Activo) ? "S" : "N",
                    NOMBRE           = _nombre,
                    DESCRIPCION      = Descripcion,
                    ID_UNIDAD_MEDIDA = SelectedProducto_Unidad_Medida.ID_UNIDAD_MEDIDA,
                    ID_CATEGORIA     = SelectedProducto_Categoria.ID_CATEGORIA,
                    ID_PRESENTACION  = SelectedProducto_Presentacion.ID_PRESENTACION,
                    ID_SUBCATEGORIA  = (IsSubcategoriaVisible)?(int?)SelectedProducto_SubcategoriaValue:null
                };

                var _selected_Almacen_Tipo_Cat = new List <ALMACEN_TIPO_CAT>();
                foreach (var item in Almacen_Tipos_Cat)
                {
                    if (item.IS_SELECTED)
                    {
                        _selected_Almacen_Tipo_Cat.Add(new ALMACEN_TIPO_CAT
                        {
                            ACTIVO          = item.ACTIVO,
                            DESCR           = item.DESCR,
                            ID_ALMACEN_TIPO = item.ID_ALMACEN_TIPO
                        });
                    }
                }

                var img_bytes = imagenToBytes(Filename);

                if (RealizarAccion == AccionSalvar.Salvar)
                {
                    new cProducto().Insertar(_producto, _selected_Almacen_Tipo_Cat, (img_bytes != null) ? new PRODUCTO_IMAGEN
                    {
                        IMAGEN = img_bytes
                    }:null);
                    _dialogCoordinator.ShowMessageAsync(this, "Notificacion", "Se inserto el producto con exito");
                }
                else if (RealizarAccion == AccionSalvar.Actualizar)
                {
                    _producto.ID_PRODUCTO = ID.Value;
                    new cProducto().Actualizar(_producto, _selected_Almacen_Tipo_Cat, img_bytes);
                    _dialogCoordinator.ShowMessageAsync(this, "Notificacion", string.Format("Se actualizo la el producto {0} con exito", _producto.NOMBRE));
                }
            }
            catch (Exception ex)
            {
                _dialogCoordinator.ShowMessageAsync(this, "Error", "Ocurrió un error en la operacion. Favor de notificar al administrador");
            }
        }
Example #21
0
        public ActionResult InicioCarrito()
        {
            if (Convert.ToString(Request.Cookies["Carrito"]) != "")
            {
                int loop1;
                HttpCookieCollection MyCookieColl;
                HttpCookie           MyCookie;

                MyCookieColl = Request.Cookies;

                // Capture all cookie names into a string array.
                String[] arr1          = MyCookieColl.AllKeys;
                var      listProductos = new List <ProductoCookie>();
                var      listfinal     = new List <ProductoUnidades>();
                // Grab individual cookie objects by cookie name.
                for (loop1 = 0; loop1 < arr1.Length; loop1++)
                {
                    MyCookie = MyCookieColl[arr1[loop1]];
                    if (MyCookie.Name == "Carrito")
                    {
                        listProductos = JsonConvert.DeserializeObject <List <ProductoCookie> >(MyCookie.Value);

                        foreach (var item in listProductos)
                        {
                            if (Convert.ToInt32(item.unidades) > 0)
                            {
                                using (FunkoPopDDBBEntities db = new FunkoPopDDBBEntities())
                                {
                                    int              w       = Convert.ToInt32(item.producto_Id);
                                    PRODUCTO         añadir  = db.PRODUCTOes.Where(x => x.PRODUCTO_ID == w).FirstOrDefault();
                                    ProductoUnidades prodfin = new ProductoUnidades();

                                    if (añadir.UD_DISPO < Convert.ToInt32(item.unidades))
                                    {
                                        prodfin.Unidades = Convert.ToString(añadir.UD_DISPO);
                                        item.unidades    = prodfin.Unidades;
                                    }
                                    else
                                    {
                                        prodfin.Unidades = item.unidades;
                                    }
                                    prodfin.CATEGORIA    = añadir.CATEGORIA;
                                    prodfin.IMAGEN       = añadir.IMAGEN;
                                    prodfin.NOMBRE       = añadir.NOMBREP;
                                    prodfin.PRECIOUnidad = añadir.PRECIO;
                                    prodfin.PRECIO       = añadir.PRECIO * Convert.ToInt32(item.unidades);
                                    prodfin.PRODUCTO_ID  = añadir.PRODUCTO_ID;
                                    prodfin.UD_DISPO     = añadir.UD_DISPO;
                                    listfinal.Add(prodfin);
                                }
                            }
                        }
                        return(View(listfinal));
                    }
                }
                return(View(listfinal));
            }
            else
            {
                return(RedirectToAction("CarritoVacio", "Carrito"));
            }
        }
Example #22
0
 /// <summary>
 /// Almacena o edita un produto
 /// </summary>
 /// <param name="producto">Producto</param>
 public void SaveProducto(PRODUCTO producto)
 {
     try
     {
         using (DQBaseContext context =new DQBaseContext(ConnectionString))
         {
             context.PRODUCTO.ApplyChanges(producto);
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #23
0
        //FUNCIONAMIENTO DE CARRITO
        // GET: Descripcion del producto
        public ActionResult Producto(int id)
        {
            //obtiene cookie
            HttpCookie carrito = new HttpCookie("CarritoCompra"), cantCarrito = new HttpCookie("CantidadCarrito");
            HttpCookie ckRequest = Request.Cookies.Get("CarritoCompra");

            //valida id de carrito
            if (ckRequest.Value == null)
            {
                id = 1;
                if (db.CARRITOCOMPRA.Count() != 0)
                {
                    id = Convert.ToInt32(db.CARRITOCOMPRA.Max(p => p.IDCARRITO)) + 1;
                }
                //se llena cookie con la información
                Response.Cookies["CarritoCompra"].Value   = id.ToString();
                Response.Cookies["CarritoCompra"].Expires = DateTime.Now.AddYears(1);
                Response.Cookies["CantidadCarrito"].Value = "0";
                CARRITOCOMPRA aux = new CARRITOCOMPRA();
                aux.IDCARRITO     = id;
                aux.IDTARIFAENVIO = 1;
                aux.IDUSUARIO     = 1;
                aux.USUARIO       = db.USUARIO.Find(1);
                aux.TARIFAENVIO   = db.TARIFAENVIO.Find(1);
                //carro.IDCARRITO = id;
                db.CARRITOCOMPRA.Add(aux);
                db.SaveChanges();
            }
            //obtiene valor de cookie (id de carrito)
            decimal idCarrito = decimal.Parse(ckRequest.Value);
            //busca objeto carrito con el id
            CARRITOCOMPRA carro = db.CARRITOCOMPRA.Find(decimal.Parse(Request.Cookies["CarritoCompra"].Value));

            //valida objeto carrito
            if (carro == null)
            {
                carro               = new CARRITOCOMPRA();
                idCarrito           = db.CARRITOCOMPRA.Max(p => p.IDCARRITO) + 1;
                carro.IDCARRITO     = idCarrito;
                carro.USUARIO       = db.USUARIO.Find(1);
                carro.TARIFAENVIO   = db.TARIFAENVIO.Find(1);
                carro.IDUSUARIO     = 1;
                carro.IDTARIFAENVIO = 1;
                db.CARRITOCOMPRA.Add(carro);
                db.SaveChanges();
                ckRequest.Value   = idCarrito.ToString();
                ckRequest.Expires = DateTime.Now.AddYears(1);
                Response.Cookies.Add(ckRequest);
            }
            //valida id de producto
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //busca objeto producto con el id
            PRODUCTO pRODUCTO = db.PRODUCTO.Find(id);

            //valida objeto
            if (pRODUCTO == null)
            {
                //debe retornar no encontrado pues sería contradictorio que pudiera acceder al detalle de un producto que no existe
                return(HttpNotFound());
            }
            //mete a viewbag producto y carrito
            ViewBag.PROD = pRODUCTO;
            ViewBag.CARR = carro;
            //manda detallecarro en view
            DETALLECARRITO detallecarro = new DETALLECARRITO();

            return(View(detallecarro));
        }