public OOB.Resultado.Ficha Venta_Item_ActualizarCantidad_Aumentar(OOB.Venta.Item.ActualizarCantidad.Aumentar.Ficha ficha)
        {
            var result = new OOB.Resultado.Ficha();

            var fichaDTO = new DtoLibPos.Venta.Item.ActualizarCantidad.Aumentar.Ficha()
            {
                idOperador        = ficha.idOperador,
                idItem            = ficha.idItem,
                autoProducto      = ficha.autoProducto,
                autoDeposito      = ficha.autoDeposito,
                cantUndBloq       = ficha.cantUndBloq,
                cantidad          = ficha.cantidad,
                validarExistencia = ficha.validarExistencia,
                precioNeto        = ficha.precioNeto,
                tarifaVenta       = ficha.tarifaVenta,
                precioDivisa      = ficha.precioDivisa,
            };
            var r01 = MyData.Venta_Item_ActualizarCantidad_Aumentar(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                result.Mensaje = r01.Mensaje;
                result.Result  = OOB.Resultado.Enumerados.EnumResult.isError;
                return(result);
            }

            return(result);
        }
Exemple #2
0
        public DtoLib.Resultado Venta_Item_ActualizarCantidad_Aumentar(DtoLibPos.Venta.Item.ActualizarCantidad.Aumentar.Ficha ficha)
        {
            var result = new DtoLib.Resultado();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var entDeposito = cnn.productos_deposito.FirstOrDefault(f => f.auto_producto == ficha.autoProducto && f.auto_deposito == ficha.autoDeposito);
                        if (entDeposito == null)
                        {
                            result.Mensaje = "PRODUCTO/DEPOSITO NO ENCONTRADO";
                            result.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(result);
                        }
                        if (ficha.validarExistencia)
                        {
                            if (ficha.cantUndBloq > entDeposito.disponible)
                            {
                                result.Mensaje = "EXISTENCIA A BLOQUEAR NO DISPONIBLE";
                                result.Result  = DtoLib.Enumerados.EnumResult.isError;
                                return(result);
                            }
                        }
                        entDeposito.reservada  += ficha.cantUndBloq;
                        entDeposito.disponible -= ficha.cantUndBloq;
                        cnn.SaveChanges();

                        var ent = cnn.p_venta.Find(ficha.idItem);
                        if (ent == null)
                        {
                            result.Mensaje = "ITEM NO ENCONTRADO";
                            result.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(result);
                        }
                        if (ent.id_p_operador != ficha.idOperador)
                        {
                            result.Mensaje = "ITEM NO PERTENECE AL OPERADOR ACTUAL";
                            result.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(result);
                        }
                        ent.cantidad    += ficha.cantidad;
                        ent.pneto        = ficha.precioNeto;
                        ent.tarifaPrecio = ficha.tarifaVenta;
                        ent.pdivisaFull  = ficha.precioDivisa;
                        cnn.SaveChanges();

                        ts.Complete();
                    }
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
 public DtoLib.Resultado Venta_Item_ActualizarCantidad_Aumentar(DtoLibPos.Venta.Item.ActualizarCantidad.Aumentar.Ficha ficha)
 {
     return(ServiceProv.Venta_Item_ActualizarCantidad_Aumentar(ficha));
 }