public OOB.Resultado.FichaId Venta_Item_Registrar(OOB.Venta.Item.Registrar.Ficha ficha)
        {
            var result = new OOB.Resultado.FichaId();

            var fichaDTO = new DtoLibPos.Venta.Item.Registrar.Ficha()
            {
                validarExistencia = ficha.validarExistencia,
                deposito          = new DtoLibPos.Venta.Item.Registrar.FichaDeposito()
                {
                    autoDeposito = ficha.deposito.autoDeposito,
                    autoPrd      = ficha.deposito.autoPrd,
                    cantBloq     = ficha.deposito.cantBloq,
                },
                item = new DtoLibPos.Venta.Item.Registrar.FichaItem()
                {
                    autoDepartamento   = ficha.item.autoDepartamento,
                    autoGrupo          = ficha.item.autoGrupo,
                    autoProducto       = ficha.item.autoProducto,
                    autoSubGrupo       = ficha.item.autoSubGrupo,
                    autoTasa           = ficha.item.autoTasa,
                    cantidad           = ficha.item.cantidad,
                    categoria          = ficha.item.categoria,
                    codigo             = ficha.item.codigo,
                    costoCompra        = ficha.item.costoCompra,
                    costoPromedio      = ficha.item.costoPromedio,
                    costoPromedioUnd   = ficha.item.costoPromedioUnd,
                    costoUnd           = ficha.item.costoUnd,
                    decimales          = ficha.item.decimales,
                    empaqueContenido   = ficha.item.empaqueContenido,
                    empaqueDescripcion = ficha.item.empaqueDescripcion,
                    estatusPesado      = ficha.item.estatusPesado,
                    idOperador         = ficha.item.idOperador,
                    nombre             = ficha.item.nombre,
                    pfullDivisa        = ficha.item.pfullDivisa,
                    pneto        = ficha.item.pneto,
                    tarifaPrecio = ficha.item.tarifaPrecio,
                    tasaIva      = ficha.item.tasaIva,
                    tipoIva      = ficha.item.tipoIva,
                    autoDeposito = ficha.item.autoDeposito,
                },
            };
            var r01 = MyData.Venta_Item_Registrar(fichaDTO);

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

            return(result);
        }
Пример #2
0
        public DtoLib.ResultadoId Venta_Item_Registrar(DtoLibPos.Venta.Item.Registrar.Ficha ficha)
        {
            var result = new DtoLib.ResultadoId();

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

                        var entVenta = new p_venta()
                        {
                            auto_departamento  = ficha.item.autoDepartamento,
                            auto_grupo         = ficha.item.autoGrupo,
                            auto_producto      = ficha.item.autoProducto,
                            auto_subGrupo      = ficha.item.autoSubGrupo,
                            auto_tasa          = ficha.item.autoTasa,
                            cantidad           = ficha.item.cantidad,
                            categoria          = ficha.item.categoria,
                            codigo             = ficha.item.codigo,
                            costoCompra        = ficha.item.costoCompra,
                            costoPromedio      = ficha.item.costoPromedio,
                            costoPromedioUnd   = ficha.item.costoPromedioUnd,
                            costoUnd           = ficha.item.costoUnd,
                            decimales          = ficha.item.decimales,
                            empaqueContenido   = ficha.item.empaqueContenido,
                            empaqueDescripcion = ficha.item.empaqueDescripcion,
                            estatusPesado      = ficha.item.estatusPesado,
                            id_p_operador      = ficha.item.idOperador,
                            nombre             = ficha.item.nombre,
                            pdivisaFull        = ficha.item.pfullDivisa,
                            pneto          = ficha.item.pneto,
                            tarifaPrecio   = ficha.item.tarifaPrecio,
                            tasaIva        = ficha.item.tasaIva,
                            tipoIva        = ficha.item.tipoIva,
                            auto_deposito  = ficha.item.autoDeposito,
                            id_p_pendiente = -1,
                        };
                        cnn.p_venta.Add(entVenta);
                        cnn.SaveChanges();
                        result.Id = entVenta.id;

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

            return(result);
        }
 public DtoLib.ResultadoId Venta_Item_Registrar(DtoLibPos.Venta.Item.Registrar.Ficha ficha)
 {
     return(ServiceProv.Venta_Item_Registrar(ficha));
 }