コード例 #1
0
        protected void gridProductos_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string M          = string.Empty;
            int    idArticulo = Utilerias.StrToInt(gridProductos.DataKeys[e.RowIndex].Value.ToString());
            ArticuloSalidaGenerica objArticulo = uow.ArticuloSalidaGenericaBusinessLogic.GetByID(idArticulo);

            int cantidad = Utilerias.StrToInt(((HtmlInputGenericControl)gridProductos.Rows[e.RowIndex].FindControl("txtCantidad")).Value);

            if (cantidad == 0)
            {
                cantidad = 1;
            }

            Articulos artCat = uow.ArticulosBL.GetByID(objArticulo.ArticuloId);

            if (cantidad > artCat.CantidadDisponible)
            {
                //gridProductos.EditIndex = -1;
                //BindGridProductosSalidas();
                //return;
                cantidad = artCat.CantidadDisponible;
            }


            objArticulo.Cantidad = cantidad;

            uow.ArticuloSalidaGenericaBusinessLogic.Update(objArticulo);
            uow.SaveChanges();

            //SI HUBO ERORRES AL ELIMINAR REGISTROS PREVIOS
            if (uow.Errors.Count > 0)
            {
                foreach (string m in uow.Errors)
                {
                    M += m;
                }

                divMsgError.Style.Add("display", "block");
                divMsgSuccess.Style.Add("display", "none");
                lblMsgError.Text = M;

                return;
            }

            // Cancelamos la edicion del grid
            gridProductos.EditIndex = -1;
            BindGridProductosSalidas();
            OcultarError();
        }
コード例 #2
0
        protected void gridProductos_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string M          = string.Empty;
            int    idArticulo = Utilerias.StrToInt(gridProductos.DataKeys[e.RowIndex].Value.ToString());
            ArticuloSalidaGenerica objArticulo = uow.ArticuloSalidaGenericaBusinessLogic.GetByID(idArticulo);

            string[] idsProducto = _ProductosVenta.Value.Split('|');


            uow.ArticuloSalidaGenericaBusinessLogic.Delete(objArticulo);
            uow.SaveChanges();

            //SI HUBO ERORRES AL ELIMINAR REGISTROS PREVIOS
            if (uow.Errors.Count > 0)
            {
                foreach (string m in uow.Errors)
                {
                    M += m;
                }

                divMsgError.Style.Add("display", "block");
                divMsgSuccess.Style.Add("display", "none");
                lblMsgError.Text = M;

                return;
            }

            _ProductosVenta.Value = string.Empty;

            foreach (string id in idsProducto)
            {
                if (!id.Equals(idArticulo.ToString()))
                {
                    if (_ProductosVenta.Value.Equals(string.Empty))
                    {
                        _ProductosVenta.Value = id;
                    }
                    else
                    {
                        _ProductosVenta.Value += "|" + id;
                    }
                }
            }

            BindGridProductosSalidas();

            OcultarError();
        }
コード例 #3
0
        private bool ExisteProductoEnSalida(int idProducto)
        {
            string[] ids = _ProductosVenta.Value.Split('|');

            foreach (string id in ids)
            {
                int idArtSalida = Utilerias.StrToInt(id);
                ArticuloSalidaGenerica artVenta = uow.ArticuloSalidaGenericaBusinessLogic.Get(e => e.Id == idArtSalida && e.ArticuloId == idProducto).FirstOrDefault();

                if (artVenta != null)
                {
                    return(true);
                }
                else
                {
                    continue;
                }
            }

            return(false);
        }
コード例 #4
0
        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            string cadenaValores = _CadValoresSeleccionados.Value;

            if (cadenaValores.Equals(string.Empty))
            {
                return;
            }

            string[]  ids = cadenaValores.Split('|');
            int       idProducto;
            Articulos articulo;
            string    M      = string.Empty;
            int       idUser = Utilerias.StrToInt(Session["IdUser"].ToString());



            foreach (string id in ids)
            {
                idProducto = Utilerias.StrToInt(id);

                articulo = uow.ArticulosBL.GetByID(idProducto);

                if (!_ProductosVenta.Value.Equals(string.Empty))
                {
                    if (ExisteProductoEnSalida(articulo.Id))
                    {
                        continue;
                    }
                }

                ArticuloSalidaGenerica artSalida = new ArticuloSalidaGenerica();
                artSalida.ArticuloId = idProducto;
                artSalida.Cantidad   = 1;
                artSalida.Nombre     = ConcatenarNombreArticulo(idProducto);//articulo.Nombre;
                artSalida.UsuarioId  = idUser;
                uow.ArticuloSalidaGenericaBusinessLogic.Insert(artSalida);
                uow.SaveChanges();

                //SI HUBO ERORRES
                if (uow.Errors.Count > 0)
                {
                    foreach (string m in uow.Errors)
                    {
                        M += m;
                    }

                    divMsgError.Style.Add("display", "block");
                    divMsgSuccess.Style.Add("display", "none");
                    lblMsgError.Text = M;

                    return;
                }

                if (_ProductosVenta.Value == string.Empty)
                {
                    _ProductosVenta.Value = artSalida.Id.ToString();
                }
                else
                {
                    _ProductosVenta.Value += "|" + artSalida.Id.ToString();
                }
            }

            _CadValoresSeleccionados.Value = string.Empty;

            BindGridProductosSalidas();

            OcultarError();
        }