public DtoLib.ResultadoEntidad <DtoLibPosOffLine.Item.Ficha> Item(int id)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibPosOffLine.Item.Ficha>();

            try
            {
                using (var cnn = new LibEntitySqLitePosOffLine.LeonuxPosOffLineEntities(_cnn.ConnectionString))
                {
                    var ent = cnn.Item.Find(id);
                    if (ent == null)
                    {
                        result.Mensaje = "ITEM [ ID ] NO ENCONTRADO";
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        return(result);
                    }
                    ;

                    var esPesado = ent.esPesado == 1?true:false;
                    var nr       = new DtoLibPosOffLine.Item.Ficha()
                    {
                        Id                  = (int)ent.id,
                        AutoPrd             = ent.autoPrd,
                        NombrePrd           = ent.nombrePrd,
                        Cantidad            = ent.cantidad,
                        TasaImpuesto        = ent.tasaIva,
                        PrecioNeto          = ent.precioNeto,
                        EsPesado            = esPesado,
                        TipoIva             = ent.tipoIva,
                        CostoCompraUnd      = ent.costoUnd,
                        CostoPromedioUnd    = ent.costoPromUnd,
                        AutoDepartamento    = ent.autoDepartamento,
                        AutoGrupo           = ent.autoGrupo,
                        AutoSubGrupo        = ent.autoSubGrupo,
                        AutoTasaIva         = ent.autoTasa,
                        Categoria           = ent.categoria,
                        CodigoPrd           = ent.codigoProducto,
                        Decimales           = ent.decimales,
                        DiasEmpaqueGarantia = (int)ent.diasEmpaqueGarantia,
                        EmpContenido        = (int)ent.empaqueContenido,
                        EmpCodigo           = ent.empaqueCodigo,
                        EmpDescripcion      = ent.empaqueDescripcion,
                        TarifaPrecio        = ent.tarifaPrecio,
                        PrecioSugerido      = ent.precioSugerido,
                        CostoCompra         = ent.costoCompra,
                        CostoPromedio       = ent.costoPromedio,
                    };
                    result.Entidad = nr;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
        DtoLib.ResultadoEntidad <DtoLibPosOffLine.Pendiente.CtaAbrir.Ficha> IPosOffLine.IPendiente.Pendiente_AbrirCtaEnPendiente(int id)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibPosOffLine.Pendiente.CtaAbrir.Ficha>();

            try
            {
                using (var cnn = new LibEntitySqLitePosOffLine.LeonuxPosOffLineEntities(_cnn.ConnectionString))
                {
                    using (var ts = cnn.Database.BeginTransaction())
                    {
                        var ficha = new DtoLibPosOffLine.Pendiente.CtaAbrir.Ficha();
                        var list  = new List <DtoLibPosOffLine.Item.Ficha>();

                        var entPend = cnn.Pendiente.Find(id);
                        if (entPend == null)
                        {
                            result.Mensaje = "CUENTA PENDIENTE NO ENCONTRADA";
                            result.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(result);
                        }

                        var entItems = cnn.Item.Where(w => w.idPendiente == id).ToList();
                        if (entItems == null)
                        {
                            result.Mensaje = "ITEMS NO DEFINIDOS";
                            result.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(result);
                        }
                        if (entItems.Count == 0)
                        {
                            result.Mensaje = "ITEMS NO ENCONTRADOS";
                            result.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(result);
                        }

                        ficha.IdCliente = (int)entPend.idCliente;
                        cnn.Pendiente.Remove(entPend);
                        foreach (var s in entItems)
                        {
                            var esPesado = s.esPesado == 1 ? true : false;
                            var nr       = new DtoLibPosOffLine.Item.Ficha()
                            {
                                Id                  = (int)s.id,
                                AutoPrd             = s.autoPrd,
                                NombrePrd           = s.nombrePrd,
                                Cantidad            = s.cantidad,
                                TasaImpuesto        = s.tasaIva,
                                PrecioNeto          = s.precioNeto,
                                EsPesado            = esPesado,
                                TipoIva             = s.tipoIva,
                                CostoCompraUnd      = s.costoUnd,
                                CostoPromedioUnd    = s.costoPromUnd,
                                AutoDepartamento    = s.autoDepartamento,
                                AutoGrupo           = s.autoGrupo,
                                AutoSubGrupo        = s.autoSubGrupo,
                                AutoTasaIva         = s.autoTasa,
                                Categoria           = s.categoria,
                                CodigoPrd           = s.codigoProducto,
                                Decimales           = s.decimales,
                                DiasEmpaqueGarantia = (int)s.diasEmpaqueGarantia,
                                EmpContenido        = (int)s.empaqueContenido,
                                EmpCodigo           = s.empaqueCodigo,
                                EmpDescripcion      = s.empaqueDescripcion,
                                TarifaPrecio        = s.tarifaPrecio,
                                PrecioSugerido      = s.precioSugerido,
                            };
                            list.Add(nr);

                            s.idPendiente = -1;
                            cnn.SaveChanges();
                        }
                        ficha.Items    = list;
                        result.Entidad = ficha;
                        ts.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
        public DtoLib.ResultadoLista <DtoLibPosOffLine.Item.Ficha> Item_Cargar()
        {
            var result = new DtoLib.ResultadoLista <DtoLibPosOffLine.Item.Ficha>();

            try
            {
                using (var cnn = new LibEntitySqLitePosOffLine.LeonuxPosOffLineEntities(_cnn.ConnectionString))
                {
                    var list = new List <DtoLibPosOffLine.Item.Ficha>();

                    var lstEnt = cnn.Item.Where(w => w.idPendiente == -1).ToList();
                    if (lstEnt != null)
                    {
                        if (lstEnt.Count > 0)
                        {
                            list = lstEnt.Select(s =>
                            {
                                var esPesado = s.esPesado == 1 ? true : false;
                                var nr       = new DtoLibPosOffLine.Item.Ficha()
                                {
                                    Id                  = (int)s.id,
                                    AutoPrd             = s.autoPrd,
                                    NombrePrd           = s.nombrePrd,
                                    Cantidad            = s.cantidad,
                                    TasaImpuesto        = s.tasaIva,
                                    PrecioNeto          = s.precioNeto,
                                    EsPesado            = esPesado,
                                    TipoIva             = s.tipoIva,
                                    CostoCompraUnd      = s.costoUnd,
                                    CostoPromedioUnd    = s.costoPromUnd,
                                    AutoDepartamento    = s.autoDepartamento,
                                    AutoGrupo           = s.autoGrupo,
                                    AutoSubGrupo        = s.autoSubGrupo,
                                    AutoTasaIva         = s.autoTasa,
                                    Categoria           = s.categoria,
                                    CodigoPrd           = s.codigoProducto,
                                    Decimales           = s.decimales,
                                    DiasEmpaqueGarantia = (int)s.diasEmpaqueGarantia,
                                    EmpContenido        = (int)s.empaqueContenido,
                                    EmpCodigo           = s.empaqueCodigo,
                                    EmpDescripcion      = s.empaqueDescripcion,
                                    TarifaPrecio        = s.tarifaPrecio,
                                    PrecioSugerido      = s.precioSugerido,
                                    CostoCompra         = s.costoCompra,
                                    CostoPromedio       = s.costoPromedio,
                                };
                                return(nr);
                            }).ToList();
                        }
                    }

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

            return(result);
        }