Пример #1
0
 /// <summary>
 /// Modifica un tipo de compra
 /// </summary>
 /// <param name="idMarca"></param>
 /// <param name="descripcion"></param>
 /// <param name="fechaBaja"></param>
 public void ModificarTipoCompra(int idTipoCompra, string descripcion, bool generaCargo, DateTime?fechaBaja)
 {
     BeginTransaction();
     try
     {
         TipoCompra tc = new TipoCompra();
         tc.Descripcion  = descripcion;
         tc.FechaBaja    = fechaBaja;
         tc.GeneraCargo  = generaCargo;
         tc.IdtipoCompra = idTipoCompra;
         updateTipoCompra(tc);
         CommitTransaction();
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
     catch (FormatException myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
 }
Пример #2
0
        /// <summary>
        /// Agrega la nota de credito y actualiza las lineas de ventas correspondientes
        /// </summary>
        /// <param name="idUsuario"></param>
        /// <param name="fechaVto"></param>
        /// <param name="descripcion"></param>
        /// <param name="monto"></param>
        /// <param name="listlv"></param>
        /// <returns></returns>
        public int AgregarNotaCredito(int idUsuario, DateTime?fechaVto, string descripcion, decimal monto, List <VentaLinea> listlv)
        {
            BeginTransaction();
            try
            {
                Venta v = buscarVenta(listlv[0].Idventa);

                NotaCredito nc = new NotaCredito();
                nc.Descripcion   = descripcion;
                nc.Fecha         = DateTime.Today;
                nc.FechaVto      = fechaVto;
                nc.Idusuario     = idUsuario;
                nc.Monto         = monto;
                nc.IdnotaCredito = insertNotaCredito(nc);
                ControladorArticulos c_art = new ControladorArticulos(conn);
                foreach (VentaLinea lv in listlv)
                {
                    updateVentaLinea(lv.Idventa, lv.Idarticulo, nc.IdnotaCredito);
                    c_art.ActualizarStockArticulo(lv.Idarticulo, lv.Cantidad, v.IdSucursal);
                }
                CommitTransaction();
                return(nc.IdnotaCredito);
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
                return(0);
            }
        }
Пример #3
0
 /// <summary>
 /// Devuelve un comprobante de venta si no encuentra nada devuelve excepcion propia
 /// </summary>
 /// <param name="idComprobante"></param>
 /// <returns></returns>
 public Comprobante BuscarComprobante(int idComprobante)
 {
     try
     {
         string    sql = "SELECT * FROM comprobante c";
         DataTable dt  = conn.GetDT(sql, idComprobante);
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("No se ha encontrado el comprobante");
         }
         DataRow     row = dt.Rows[0];
         Comprobante c   = new Comprobante();
         c.Fecha           = Convert.ToDateTime(row["fecha"]);
         c.Idcomprobante   = Convert.ToInt32(row["idcomprobante"]);
         c.Monto           = Convert.ToDecimal(row["monto"]);
         c.Numero          = row["numero"].ToString();
         c.TipoComprobante = row["tipo_comprobante"].ToString();
         return(c);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
 }
Пример #4
0
 /// <summary>
 /// Obtiene una lista con todos los tipos dce gasto.
 /// Si no encuentra nada devuelve excepcion propia
 /// </summary>
 public List <TipoGasto> BuscarListTipoGasto()
 {
     BeginTransaction();
     try
     {
         DataTable dt = selectTipoGasto();
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("No se han encontrado tipos de gastos");
         }
         List <TipoGasto> listTg = new List <TipoGasto>();
         foreach (DataRow row in dt.Rows)
         {
             TipoGasto tg = buscarTipoGasto(Convert.ToInt32(row["idtipo_gasto"]));
             listTg.Add(tg);
         }
         CommitTransaction();
         return(listTg);
     }
     catch (ExcepcionPropia myex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myex.Message);
         return(null);
     }
     catch (Npgsql.NpgsqlException myex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myex.Message);
         return(null);
     }
 }
Пример #5
0
 /// <summary>
 /// Si no encuentra nada devuelve null
 /// </summary>
 /// <returns></returns>
 public List <TipoMovimientoArticulo> BuscarListTiposMovimientos()
 {
     try
     {
         string    sql = "SELECT * FROM tipo_movimiento_articulo tma WHERE tma.fecha_baja IS NULL";
         DataTable dt  = conn.GetDT(sql);
         if (dt == null || dt.Rows.Count == 0)
         {
             return(null);
         }
         else
         {
             List <TipoMovimientoArticulo> listT = new List <TipoMovimientoArticulo>();
             foreach (DataRow row in dt.Rows)
             {
                 TipoMovimientoArticulo tm = mapearTipoMovimiento(row);
                 listT.Add(tm);
             }
             return(listT);
         }
     }
     catch (Npgsql.NpgsqlException ex)
     {
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
 }
Пример #6
0
 /// <summary>
 /// Obtiene una lista de articulos agrupacion si no encuentra nada devuelve null inclusive los dados de baja
 /// </summary>
 /// <returns></returns>
 public List <ArticuloAgrupacion> BuscarListArticuloAgrupacionTodos()
 {
     BeginTransaction();
     try
     {
         string    sql = "SELECT * FROM articulo_agrupacion aa";
         DataTable dt  = conn.GetDT(sql);
         if (dt != null && dt.Rows.Count > 0)
         {
             List <ArticuloAgrupacion> listAA = new List <ArticuloAgrupacion>();
             foreach (DataRow row in dt.Rows)
             {
                 ArticuloAgrupacion aa = mapearArticuloAgrupacion(row);
                 listAA.Add(aa);
             }
             CommitTransaction();
             return(listAA);
         }
         else
         {
             CommitTransaction();
             return(null);
         }
     }
     catch (Exception ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex.Message);
         return(null);
     }
 }
Пример #7
0
        /// <summary>
        /// Obtiene un usuario si no tira excepcion
        /// </summary>
        /// <param name="idUsaurio"></param>
        /// <returns></returns>
        public Usuario BuscarUsuario(int idUsaurio)
        {
            try
            {
                DataTable dt = selectUsuario(idUsaurio);
                if (dt == null || dt.Rows.Count == 0)
                {
                    throw new ExcepcionPropia("No se ha encontrado un usuario");
                }
                DataRow row = dt.Rows[0];
                Usuario u   = mapearUsuario(row);

                return(u);
            }
            catch (Npgsql.NpgsqlException ex)
            {
                ControladorExcepcion.tiraExcepcion(ex);
                return(null);
            }
            catch (ExcepcionPropia my)
            {
                ControladorExcepcion.tiraExcepcion(my.Message);
                return(null);
            }
        }
Пример #8
0
 /// <summary>
 ///Devuelve los articulos q se pueden cambiar por el indicado,
 ///Es decir los articulos q estan agrupados en el articulo en cuestion
 /// </summary>
 /// <param name="idArticuloAgrupacion"></param>
 /// <returns></returns>
 public List <Articulo> BuscarListArticulosACambiar(int idarticulo, int idSucursal)
 {
     try
     {
         Articulo  aa  = buscarArticulo(idarticulo);
         string    sql = @"SELECT * FROM articulo a 
                         INNER JOIN articulo_sucursal as1 on a.idarticulo = as1.idarticulo
                         WHERE a.idarticulo_agrupacion=:p1 AND a.idarticulo<>:p2
                         AND as1.idsucursal=:p3";
         DataTable dt  = conn.GetDT(sql, aa.IdagrupacionArticulo, idarticulo, idSucursal);
         if (dt == null || dt.Rows.Count == 0)
         {
             return(null);
         }
         else
         {
             List <Articulo> listA = new List <Articulo>();
             foreach (DataRow row in dt.Rows)
             {
                 Articulo a = mapearArticulo(row);
                 listA.Add(a);
             }
             return(listA);
         }
     }
     catch (Npgsql.NpgsqlException ex)
     {
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
 }
Пример #9
0
        /// <summary>
        /// Obtiene una lista de tipos articuos sino devuelve excepcion con los dados de baja
        /// </summary>
        /// <returns></returns>
        public List <TipoArticulo> BuscarListTipoArticuloTodos()
        {
            BeginTransaction();
            try
            {
                string    sql = @"SELECT * FROM tipo_articulo ta";
                DataTable dt  = conn.GetDT(sql);
                if (dt == null || dt.Rows.Count == 0)
                {
                    throw new ExcepcionPropia("No se han encontrado Tipos de Articulos");
                }
                List <TipoArticulo> listTA = new List <TipoArticulo>();
                foreach (DataRow row in dt.Rows)
                {
                    TipoArticulo ta = mapearTipoArticulo(row);
                    listTA.Add(ta);
                }
                CommitTransaction();
                return(listTA.OrderBy(ta => ta.Descripcion).ToList());
            }

            catch (Exception myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(null);
            }
        }
Пример #10
0
        /// <summary>
        /// Obtiene una lista de forma pago sino la enceuntra excepcion propia
        /// </summary>
        /// <param name="idFormaPago"></param>
        /// <returns></returns>
        public List <FormaPago> BuscarListFormaPago()
        {
            try
            {
                DataTable dt = selectFormasPagos();
                if (dt == null || dt.Rows.Count == 0)
                {
                    throw new ExcepcionPropia("No se ha encontrado formas de pago");
                }
                List <FormaPago> listFp = new List <FormaPago>();
                foreach (DataRow row in dt.Rows)
                {
                    FormaPago fp = mapearFormaPago(row);
                    listFp.Add(fp);
                }

                CommitTransaction();
                return(listFp.OrderBy(fp => fp.Descripcion).ToList());
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
                return(null);
            }
            catch (ExcepcionPropia myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(null);
            }
        }
Пример #11
0
        /// <summary>
        /// Agrega naagrupacion articulos
        /// </summary>
        /// <param name="descripcion"></param>
        /// <param name="idMarca"></param>
        /// <param name="idTipoArticulo"></param>
        /// <param name="fechaAlta"></param>
        /// <param name="fechaBaja"></param>
        /// <param name="?"></param>
        /// <returns></returns>
        public int AgregarArticuloAgrupacion(string descripcion, int idMarca, int idTipoArticulo, DateTime fechaAlta, DateTime?fechaBaja)
        {
            try
            {
                BeginTransaction();
                string sql = @"INSERT INTO articulo_agrupacion
                                (	                                
	                                descripcion,
	                                idmarca,
	                                idtipo_articulo,
	                                fecha_alta,
	                                fecha_baja
                                )
                                VALUES
                                (
	                                :descripcion,
	                                :idmarca,
	                                :idtipo_articulo, 
	                                :fecha_alta,
	                                :fecha_baja 
                                )";
                int    id  = conn.Execute(sql, descripcion, idMarca, idTipoArticulo, fechaAlta, fechaBaja);
                CommitTransaction();
                return(id);
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
                return(0);
            }
        }
Пример #12
0
 /// <summary>
 /// Modifica un Proveedor
 /// </summary>
 /// <param name="idMarca"></param>
 /// <param name="descripcion"></param>
 /// <param name="fechaBaja"></param>
 public void ModificarProveedor(int idProv, string nombre, string direccion, string telefonos, string mail,
                                string observaciones, DateTime?fechaBaja)
 {
     BeginTransaction();
     try
     {
         Proveedor p = new Proveedor();
         p.Direccion     = direccion;
         p.FechaBaja     = fechaBaja;
         p.Mail          = mail;
         p.Idproveedor   = idProv;
         p.Nombre        = nombre;
         p.Observaciones = observaciones;
         p.Telefonos     = telefonos;
         updateProveedor(p);
         CommitTransaction();
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
     catch (FormatException myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
 }
Пример #13
0
 /// <summary>
 /// Obtiene un Proveeodr sino excepcion propia
 /// </summary>
 /// <param name="idMarca"></param>
 /// <returns></returns>
 public Proveedor BuscarProveedor(int idProv)
 {
     BeginTransaction();
     try
     {
         Proveedor p = buscarProveedor(idProv);
         CommitTransaction();
         return(p);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
     catch (FormatException myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
 }
Пример #14
0
        public int AgregarTipoCompra(string descripcion, bool generaCargo, DateTime?fechaBaja)
        {
            BeginTransaction();
            try
            {
                TipoCompra tc = new TipoCompra();
                tc.Descripcion = descripcion;
                tc.FechaBaja   = fechaBaja;
                tc.GeneraCargo = generaCargo;

                int id = insertTipoCompra(tc);
                CommitTransaction();
                return(id);
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
                return(0);
            }
            catch (ExcepcionPropia myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(0);
            }
            catch (FormatException myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(0);
            }
        }
Пример #15
0
        public int AgregarArticulo(string desc, int idMarca, int idTipoArt,
                                   bool controlaStock, string codigo, DateTime fechaBaja, int?idArticuloAgrupacion)
        {
            BeginTransaction();
            try
            {
                Articulo a = new Articulo();
                a.Codigo         = codigo;
                a.ControlarStock = controlaStock;
                //a.CostoUltimo = costoUltimo;
                a.Descripcion   = desc;
                a.FechaAlta     = DateTime.Today;
                a.Marca         = new Marca();
                a.Marca.Idmarca = idMarca;
                a.TipoArticulo  = new TipoArticulo();
                a.TipoArticulo.IdtipoArticulo = idTipoArt;
                // a.Precio = precio;
                // a.Stock = stock;
                if (idArticuloAgrupacion != null && idArticuloAgrupacion != 0)
                {
                    a.AgrupacionArticulo = new ArticuloAgrupacion();
                    a.AgrupacionArticulo.IdagrupacionArticulo = (int)idArticuloAgrupacion;
                }

                int id = insertArticulo(a);
                CommitTransaction();
                return(id);
            }
            catch (Exception myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(0);
            }
        }
Пример #16
0
        /// <summary>
        /// Modifica un tipo de articulo
        /// </summary>
        /// <param name="idMarca"></param>
        /// <param name="descripcion"></param>
        /// <param name="fechaBaja"></param>
        public void ModificarTipoArticulo(int idTipoArticulo, string descripcion, DateTime?fechaBaja)
        {
            BeginTransaction();
            try
            {
                TipoArticulo ta = new TipoArticulo();
                ta.Descripcion    = descripcion;
                ta.IdtipoArticulo = Convert.ToInt32(idTipoArticulo);
                ta.FechaBaja      = fechaBaja;

                updateTipoArticulo(ta);
                CommitTransaction();
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
            }
            catch (ExcepcionPropia myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
            }
            catch (FormatException myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
            }
        }
Пример #17
0
 public void ModificarArticulo(int idArt, string desc, int idMarca, int idTipoArt,
                               bool controlSotock, string codigo, DateTime?fechaBaja, int?idArticuloAgrupacion)
 {
     BeginTransaction();
     try
     {
         Articulo a = new Articulo();
         a.Idarticulo     = idArt;
         a.Codigo         = codigo;
         a.ControlarStock = controlSotock;
         //a.CostoUltimo = costo;
         a.Descripcion   = desc;
         a.FechaBaja     = fechaBaja;
         a.Marca         = new Marca();
         a.Marca.Idmarca = idMarca;
         a.TipoArticulo  = new TipoArticulo();
         a.TipoArticulo.IdtipoArticulo = idTipoArt;
         ///a.Precio = precio;
         // a.Stock = stock;
         if (idArticuloAgrupacion != null && idArticuloAgrupacion != 0)
         {
             a.AgrupacionArticulo = new ArticuloAgrupacion();
             a.AgrupacionArticulo.IdagrupacionArticulo = (int)idArticuloAgrupacion;
         }
         updateArtciulo(a);
         CommitTransaction();
     }
     catch (Exception myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
 }
Пример #18
0
 public void EliminarTipoArticulo(int idTipoArticulo)
 {
     BeginTransaction();
     try
     {
         int id = Convert.ToInt32(idTipoArticulo);
         deleteTipoArticulo(id);
         CommitTransaction();
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
     catch (FormatException myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
     }
 }
Пример #19
0
 public Persona BuscarPersona(string nombreCompleto)
 {
     BeginTransaction();
     try
     {
         DataTable dt = selectPersona(nombreCompleto);
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("No se ha encontrado la persona");
         }
         DataRow row = dt.Rows[0];
         Persona p   = mapearPersona(row);
         CommitTransaction();
         return(p);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
 }
Пример #20
0
        public int AgregarTipoArticulo(string descripcion, DateTime?fechaBaja)
        {
            BeginTransaction();
            try
            {
                TipoArticulo ta = new TipoArticulo();
                ta.Descripcion = descripcion;
                ta.FechaBaja   = fechaBaja;

                int id = insertTipoArticulo(ta);
                CommitTransaction();
                return(id);
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
                return(0);
            }
            catch (ExcepcionPropia myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(0);
            }
            catch (FormatException myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
                return(0);
            }
        }
Пример #21
0
        public void ModificarUsuario(Usuario u)
        {
            BeginTransaction();
            try
            {
                if (u.Clave != string.Empty)
                {
                    updateUsuarioClave(u.Idusuario, u.Clave);
                }
                string sql = @"UPDATE usuario
                                SET
	                                nombre_usuario = :p4,
	                                nombre_apellido = :p3,
	                                fecha_baja = :p2
                                WHERE idusuario=:p1";
                conn.Execute(sql, u.NombreUsuario, u.NombreApellido, u.FechaBaja, u.Idusuario);
                CommitTransaction();
            }
            catch (Npgsql.NpgsqlException ex)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(ex);
            }
            catch (ExcepcionPropia myEx)
            {
                RollbackTransaction();
                ControladorExcepcion.tiraExcepcion(myEx.Message);
            }
        }
Пример #22
0
 public Articulo BuscarArticulo(string codigo, int idSucursal)
 {
     BeginTransaction();
     try
     {
         if (codigo == string.Empty)
         {
             throw new ExcepcionPropia("El codigo no puede ser nulo");
         }
         DataTable dt = selectArticulo(codigo, idSucursal);
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("No se ha encontrado ningun articulo con el codigo " + codigo);
         }
         DataRow  row = dt.Rows[0];
         Articulo a   = mapearArticulo(row);
         CommitTransaction();
         return(a);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
 }
Пример #23
0
 /// <summary>
 /// Modificar Gasto
 /// </summary>
 /// <param name="g"></param>
 public void ModificarGasto(Gasto g)
 {
     BeginTransaction();
     try
     {
         if (g.ListFormaPago == null || g.ListFormaPago.Count == 0)
         {
             throw new ExcepcionPropia("Debe indicar al menos una forma de pago");
         }
         if (g.Monto != g.ListFormaPago.Sum(gg => gg.Monto))
         {
             throw new ExcepcionPropia("El total del gasto debe ser igual a la suma de las formas de pago");
         }
         foreach (FormaPago fp in g.ListFormaPago)
         {
             deleteFormaPagoGasto(g.IdGasto, fp.IdtipoFormaPago);
             insertFormaPagoGasto(g.IdGasto, fp.IdtipoFormaPago, fp.Monto);
         }
         updateGasto(g);
         CommitTransaction();
     }
     catch (ExcepcionPropia myex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myex.Message);
     }
     catch (Npgsql.NpgsqlException myex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myex.Message);
     }
 }
Пример #24
0
 public Articulo BuscarArticulo(int idArticulo, int idSucursal)
 {
     try
     {
         string    sql = @"SELECT * FROM articulo a 
                         INNER JOIN articulo_sucursal as1 ON as1.idarticulo = a.idarticulo
                         WHERE as1.idarticulo=:p1 AND as1.idsucursal=:p2";
         DataTable dt  = conn.GetDT(sql, idArticulo, idSucursal);
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("No se ha encontrado ningun articulo ");
         }
         DataRow  row = dt.Rows[0];
         Articulo a   = mapearArticulo(row);
         return(a);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
     catch (ExcepcionPropia myEx)
     {
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
 }
Пример #25
0
 /// <summary>
 /// Da de baja una linea. Cambia el Stock y modifica el total de la venta
 /// </summary>
 public void BajaLinea(int idVenta, int idArticulo, int idUsuario)
 {
     BeginTransaction();
     try
     {
         Venta   v          = buscarVenta(idVenta);
         decimal totalLinea = v.ListLineaVenta.FirstOrDefault(lv => lv.Idarticulo == idArticulo).Subtotal;
         int     cant       = 0;
         if (v.ListLineaVenta.FirstOrDefault(lv => lv.Idarticulo == idArticulo).Articulo.ControlarStock)
         {
             cant = v.ListLineaVenta.FirstOrDefault(lv => lv.Idarticulo == idArticulo).Cantidad;
         }
         ///modifico la linea
         updateVentaLinea(idVenta, idArticulo, DateTime.Today, idUsuario);
         ///modifico el total de la venta
         updateVentaTotal(idVenta, -totalLinea);
         ///modifico el stock
         ControladorArticulos c_art = new ControladorArticulos(conn);
         c_art.ActualizarStockArticulo(idArticulo, cant, v.IdSucursal);
         CommitTransaction();
     }
     catch (ExcepcionPropia myex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myex.Message);
     }
 }
Пример #26
0
 /// <summary>
 /// Buscar un Articulo con un like a descripcion articulo para la compra,
 /// si no encuentra nada devuelve null
 /// </summary>
 /// <param name="descripcionLarga"></param>
 /// <returns></returns>
 public List <Articulo> BuscarListArticuloCompra(string descripcionParcial)
 {
     BeginTransaction();
     try
     {
         DataTable dt = selectArticuloLikecompra(descripcionParcial);
         if (dt != null && dt.Rows.Count > 0)
         {
             List <Articulo> listA = new List <Articulo>();
             foreach (DataRow row in dt.Rows)
             {
                 Articulo a = buscarArticulo(Convert.ToInt32(row["idarticulo"]));
                 listA.Add(a);
             }
             CommitTransaction();
             return(listA);
         }
         else
         {
             return(null);
         }
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
 }
Пример #27
0
 /// <summary>
 /// Busca una nota de credito si no la encuentra devulve eccepcion propia.
 /// Te indica si esta utilizada en venta o no
 /// No trae las lineas de ventas q contiene
 /// </summary>
 /// <param name="idNotaCredito"></param>
 /// <returns></returns>
 public NotaCredito BuscarNotaCredito(int idNotaCredito)
 {
     try
     {
         DataTable dt = selectNotaCredito(idNotaCredito);
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("La nota de credito no existe");
         }
         DataRow     row = dt.Rows[0];
         NotaCredito nc  = new NotaCredito();
         nc.Descripcion      = row["descripcion"].ToString();
         nc.Fecha            = Convert.ToDateTime(row["fecha"]);
         nc.FechaVto         = row["fecha_vto"] as DateTime?;
         nc.IdnotaCredito    = Convert.ToInt32(row["idnota_credito"]);
         nc.Idusuario        = Convert.ToInt32(row["idusuario"]);
         nc.Monto            = Convert.ToDecimal(row["monto"]);
         nc.Numero           = Convert.ToInt32(row["numero"]);
         nc.UtilizadaEnVenta = !validarNotaCreditoSinUtilizar(nc.Numero);
         return(nc);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
 }
Пример #28
0
 public List <Articulo> BuscarListArticulo()
 {
     BeginTransaction();
     try
     {
         DataTable dt = selectArticulos();
         if (dt != null && dt.Rows.Count > 0)
         {
             List <Articulo> listA = new List <Articulo>();
             foreach (DataRow row in dt.Rows)
             {
                 Articulo a = buscarArticulo(Convert.ToInt32(row["idarticulo"]));
                 listA.Add(a);
             }
             CommitTransaction();
             return(listA.OrderBy(a => a.Descripcion).OrderBy(a => a.FechaBaja).ToList());
         }
         else
         {
             CommitTransaction();
             return(null);
         }
     }
     catch (Exception ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex.Message);
         return(null);
     }
 }
Пример #29
0
 /// <summary>
 /// Devuelve una lista de cambios si no encuentra nada devuielve excepcion propia
 /// </summary>
 /// <param name="idVenta"></param>
 /// <returns></returns>
 public List <VentaLineaCambio> BuscarListCambios(int idVenta)
 {
     try
     {
         string    sql = "SELECT * FROM venta_detalle_cambio vdc WHERE vdc.idventa=:p1";
         DataTable dt  = conn.GetDT(sql, idVenta);
         if (dt == null || dt.Rows.Count == 0)
         {
             throw new ExcepcionPropia("No se han encontrado Cambios");
         }
         else
         {
             ControladorArticulos    c_art   = new ControladorArticulos(conn);
             List <VentaLineaCambio> listVlc = new List <VentaLineaCambio>();
             foreach (DataRow row in dt.Rows)
             {
                 VentaLineaCambio vlc = new VentaLineaCambio();
                 vlc.Articulo         = c_art.BuscarArticulo(Convert.ToInt32(row["idarticulo"]));
                 vlc.ArticuloAnterior = c_art.BuscarArticulo(Convert.ToInt32(row["idarticulo_anterior"]));
                 vlc.Cantidad         = Convert.ToInt32(row["cantidad"]);
                 vlc.FechaCambio      = Convert.ToDateTime(row["fecha_cambio"]);
                 vlc.IdVenta          = Convert.ToInt32(row["idventa"]);
                 vlc.IdUsuario        = Convert.ToInt32(row["idusuario"]);
                 listVlc.Add(vlc);
             }
             return(listVlc);
         }
     }
     catch (Npgsql.NpgsqlException ex)
     {
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
 }
Пример #30
0
 /// <summary>
 /// Obtiene un tipo compra sino excepcion propia
 /// </summary>
 /// <param name="idMarca"></param>
 /// <returns></returns>
 public TipoCompra BuscarTipoCompra(int idTipoCompra)
 {
     BeginTransaction();
     try
     {
         TipoCompra tc = buscarTipoCompra(idTipoCompra);
         CommitTransaction();
         return(tc);
     }
     catch (Npgsql.NpgsqlException ex)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(ex);
         return(null);
     }
     catch (ExcepcionPropia myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
     catch (FormatException myEx)
     {
         RollbackTransaction();
         ControladorExcepcion.tiraExcepcion(myEx.Message);
         return(null);
     }
 }