public void Update(TipoDescuento tipoDescuento)
        {
            SqlConnection sqlConnection = new SqlConnection(Utilities.GetConnectionString());
            SqlCommand    sqlCommand    = new SqlCommand(SpTipoDescuento.RUD, sqlConnection)
            {
                CommandType = System.Data.CommandType.StoredProcedure
            };

            sqlCommand.Parameters.Add(new SqlParameter("@CODIGO", tipoDescuento.Codigo));
            sqlCommand.Parameters.Add(new SqlParameter("@TIDCODIGO", tipoDescuento.TipoId.Codigo));
            sqlCommand.Parameters.Add(new SqlParameter("@DESCRIPCION", tipoDescuento.Descripcion));
            sqlCommand.Parameters.Add(new SqlParameter("@MULTIPLO", tipoDescuento.Multiplo));
            sqlCommand.Parameters.Add(new SqlParameter("@ESTADO", tipoDescuento.Estado));
            sqlCommand.Parameters.Add(new SqlParameter("@SECUENCIA", tipoDescuento.Secuencia));
            sqlCommand.Parameters.Add(new SqlParameter("@ACTION", 'U'));
            try
            {
                sqlConnection.Open();
                sqlCommand.ExecuteNonQuery();
            }
            catch (SqlException exc)
            {
                Console.WriteLine(exc.ToString());
            }
            finally
            {
                sqlConnection.Close();
            }
        }
        public async Task <Response <TipoDescuento> > DeleteAsync(TipoDescuento modelo)
        {
            var response = new Response <TipoDescuento>();

            response.IsSuccess = false;
            try
            {
                TipoDescuento tp = await db.Tipo_Descuentos.FirstOrDefaultAsync(tp => tp.ID_Tipo_Descuento == modelo.ID_Tipo_Descuento);

                Estado estado = await db.Estados.FirstOrDefaultAsync(e => e.ID_Estado == modelo.Estado.ID_Estado);

                modelo.Estado = estado;
                if (tp == null)
                {
                    response.Message = "Debe proveer la información solicitada...";
                    return(response);
                }

                //
                db.Remove(tp);
                await db.SaveChangesAsync();

                //
                response.IsSuccess = true;
                response.Result    = tp;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(response);
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            TipoDescuento tipoDescuento = db.TipoDescuento.Find(id);

            db.TipoDescuento.Remove(tipoDescuento);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#4
0
 public static Descuento Descuento(TipoDescuento tipoDescuento, bool acomulable, DateTime fechaYHoraInicio, DateTime fechaYHoraTerminación, double descuento)
 {
     if (tipoDescuento == TipoDescuento.DESCONOCIDO || fechaYHoraInicio == null || fechaYHoraTerminación == null || descuento < 1)
     {
         throw new Exception("Factories Descuento no puede ser creado");
     }
     return(new Descuento(tipoDescuento, acomulable, fechaYHoraInicio, fechaYHoraTerminación, descuento));
 }
示例#5
0
 public ActionResult Edit([Bind(Include = "idTipoDescuento,descripcion")] TipoDescuento tipoDescuento)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tipoDescuento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tipoDescuento));
 }
        public List <TipoPlan> FindByDescription(string description)
        {
            List <TipoPlan> tipoPlans     = new List <TipoPlan>();
            SqlConnection   sqlConnection = new SqlConnection(Utilities.GetConnectionString());
            SqlCommand      sqlCommand    = new SqlCommand(SpTipoPlan.FIND_BY_DESCRIPCION, sqlConnection)
            {
                CommandType = System.Data.CommandType.StoredProcedure
            };

            sqlCommand.Parameters.Add(new SqlParameter("@DESCRIPCION", description));
            try
            {
                sqlConnection.Open();
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                while (sqlDataReader.Read())
                {
                    TipoId tipoId = new TipoId(
                        sqlDataReader.GetInt32(12),
                        sqlDataReader.GetString(13),
                        sqlDataReader.GetString(14),
                        Convert.ToChar(sqlDataReader.GetString(15))
                        );

                    TipoDescuento tipoDescuento = new TipoDescuento(
                        sqlDataReader.GetInt32(6),
                        sqlDataReader.GetString(7),
                        tipoId,
                        sqlDataReader.GetString(9),
                        sqlDataReader.GetInt32(10),
                        Convert.ToChar(sqlDataReader.GetString(11))
                        );

                    TipoPlan tipoPlan = new TipoPlan(
                        sqlDataReader.GetInt32(0),
                        sqlDataReader.GetString(1),
                        tipoDescuento,
                        sqlDataReader.GetString(3),
                        sqlDataReader.GetInt32(4),
                        Convert.ToChar(sqlDataReader.GetString(5))
                        );

                    tipoPlans.Add(tipoPlan);
                }
            }
            catch (SqlException exc)
            {
                Console.WriteLine(exc.ToString());
            }
            finally
            {
                sqlConnection.Close();
            }
            return(tipoPlans);
        }
示例#7
0
        public ActionResult Create([Bind(Include = "idTipoDescuento,descripcion")] TipoDescuento tipoDescuento)
        {
            if (ModelState.IsValid)
            {
                db.TipoDescuento.Add(tipoDescuento);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tipoDescuento));
        }
示例#8
0
 public Descuento(TipoDescuento tipoDescuento, bool acomulable, DateTime fechaYHoraInicio, DateTime fechaYHoraTerminación, double descuento)
 {
     if (!DescuentoEsAplicable(fechaYHoraInicio, fechaYHoraTerminación))
     {
         throw new Exception("Solo se puede crear descuento para Fines de semanas");
     }
     this.TipoDescuento    = tipoDescuento;
     Acomulable            = acomulable;
     FechaYHoraInicio      = fechaYHoraInicio;
     FechaYHoraTerminación = fechaYHoraTerminación;
     Descu = descuento;
 }
示例#9
0
        // GET: TipoDescuentos/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoDescuento tipoDescuento = db.TipoDescuento.Find(id);

            if (tipoDescuento == null)
            {
                return(HttpNotFound());
            }
            return(View(tipoDescuento));
        }
        public async Task <Response <TipoDescuento> > UpdateAsync(TipoDescuento modelo)
        {
            var response = new Response <TipoDescuento>();

            response.IsSuccess = false;
            try
            {
                TipoDescuento tp = await db.Tipo_Descuentos.FirstOrDefaultAsync(tp => tp.ID_Tipo_Descuento == modelo.ID_Tipo_Descuento);

                Estado estado = await db.Estados.FirstOrDefaultAsync(e => e.ID_Estado == modelo.Estado.ID_Estado);

                modelo.Estado = estado;
                if (tp == null)
                {
                    response.Message = "Debe proveer la información solicitada...";
                    return(response);
                }

                if (await db.Tipo_Descuentos.AsNoTracking().AnyAsync(tp => tp.N_Tipo_Descuento.ToLower() == modelo.N_Tipo_Descuento.ToLower() && tp.ID_Tipo_Descuento != modelo.ID_Tipo_Descuento))
                {
                    response.Message = "Error la descripcón ya existe...";
                    return(response);
                }

                //Asignación de atributos nuevos

                tp.N_Tipo_Descuento = modelo.N_Tipo_Descuento;
                tp.Estado           = estado;

                //Asignación de tablas anexas
                db.Tipo_Descuentos.Update(tp);
                await db.SaveChangesAsync();

                db.Entry(tp).State        = EntityState.Detached;
                db.Entry(tp.Estado).State = EntityState.Detached;

                //
                response.IsSuccess = true;
                response.Result    = modelo;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(response);
        }
        public List <TipoDescuento> FindAll()
        {
            List <TipoDescuento> tipoDescuentos = new List <TipoDescuento>();
            SqlConnection        sqlConnection  = new SqlConnection(Utilities.GetConnectionString());
            SqlCommand           sqlCommand     = new SqlCommand(SpTipoDescuento.FIND_ALL, sqlConnection)
            {
                CommandType = System.Data.CommandType.StoredProcedure
            };

            try
            {
                sqlConnection.Open();
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                while (sqlDataReader.Read())
                {
                    TipoId tipoId = new TipoId(
                        sqlDataReader.GetInt32(6),
                        sqlDataReader.GetString(7),
                        sqlDataReader.GetString(8),
                        Convert.ToChar(sqlDataReader.GetString(9))
                        );

                    TipoDescuento tipoDescuento = new TipoDescuento(
                        sqlDataReader.GetInt32(0),
                        sqlDataReader.GetString(1),
                        tipoId,
                        sqlDataReader.GetString(3),
                        sqlDataReader.GetInt32(4),
                        Convert.ToChar(sqlDataReader.GetString(5))
                        );

                    tipoDescuentos.Add(tipoDescuento);
                }
            }
            catch (SqlException exc)
            {
                Console.WriteLine(exc.ToString());
            }
            finally
            {
                sqlConnection.Close();
            }

            return(tipoDescuentos);
        }
        public async Task <Response <TipoDescuento> > CreateAsync(TipoDescuento modelo)
        {
            var response = new Response <TipoDescuento>();

            response.IsSuccess = false;
            try
            {
                Estado estado = await db.Estados.FirstOrDefaultAsync(e => e.ID_Estado == modelo.Estado.ID_Estado);

                modelo.Estado = estado;
                if (modelo == null)
                {
                    response.Message = "Debe proveer la información solicitada...";
                    return(response);
                }

                if (await db.Tipo_Descuentos.AsNoTracking().AnyAsync(tp => tp.ID_Tipo_Descuento == modelo.ID_Tipo_Descuento))
                {
                    response.Message = "Error el identificador ya existe...";
                    return(response);
                }

                if (await db.Tipo_Descuentos.AsNoTracking().AnyAsync(tp => tp.N_Tipo_Descuento.ToLower() == modelo.N_Tipo_Descuento.ToLower()))
                {
                    response.Message = "Error el registro ya existe...";
                    return(response);
                }
                //

                db.Add(modelo);

                await db.SaveChangesAsync();

                //
                response.IsSuccess = true;
                response.Result    = modelo;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(response);
        }
        public void Delete(TipoDescuento tipoDescuento)
        {
            SqlConnection sqlConnection = new SqlConnection(Utilities.GetConnectionString());
            SqlCommand    sqlCommand    = new SqlCommand(SpTipoDescuento.RUD, sqlConnection)
            {
                CommandType = System.Data.CommandType.StoredProcedure
            };

            sqlCommand.Parameters.Add(new SqlParameter("@SECUENCIA", tipoDescuento.Secuencia));
            sqlCommand.Parameters.Add(new SqlParameter("@ACTION", 'D'));
            try
            {
                sqlConnection.Open();
                sqlCommand.ExecuteNonQuery();
            }
            catch (SqlException exc)
            {
                Console.WriteLine(exc.ToString());
            }
            finally
            {
                sqlConnection.Close();
            }
        }
示例#14
0
        public async Task <Response <Data.Entities.Producto> > CreateAsync(Data.Entities.Producto modelo)
        {
            var response = new Response <Data.Entities.Producto>();

            response.IsSuccess = false;
            try
            {
                Estado          estado         = db.Estados.Find(modelo.Estado.ID_Estado);
                TipoDescuento   tipo_Descuento = db.Tipo_Descuentos.Find(modelo.TipoDescuento.ID_Tipo_Descuento);
                Unidad          unidad         = db.Unidades.Find(modelo.Unidad.ID_Unidad);
                Marca           marca          = db.Marca.Find(modelo.Marca.ID_Marca);
                Familia         familia        = db.Familias.Find(modelo.Familia.ID_Familia);
                Subfamilia      subfamilia     = db.Subfamilia.Find(modelo.SubFamilia.ID_Subfamilia);
                Tipo_producto   tipoProducto   = db.Tipo_Productos.Find(modelo.TipoProducto.ID_Tipo_Producto);
                Tipo_inventario tipoInventario = db.Tipo_Inventario.Find(modelo.TipoInventario.ID_Tipo_Inventario);
                Tipo_material   tipoMaterial   = db.Tipo_Material.Find(modelo.TipoMaterial.ID_Tipo_Material);
                Data.Entities.ClienteProveedor clienteProveedor = db.ClienteProveedors.Find(modelo.ClienteProveedor.ID_Cliente_Proveedor);

                modelo.Estado           = estado;
                modelo.TipoDescuento    = tipo_Descuento;
                modelo.Unidad           = unidad;
                modelo.Marca            = marca;
                modelo.Familia          = familia;
                modelo.SubFamilia       = subfamilia;
                modelo.TipoProducto     = tipoProducto;
                modelo.TipoInventario   = tipoInventario;
                modelo.TipoMaterial     = tipoMaterial;
                modelo.ClienteProveedor = clienteProveedor;

                if (modelo == null)
                {
                    response.Message = "Se debe ingresar la información";
                    return(response);
                }

                if (tipo_Descuento == null && tipoInventario == null && tipoMaterial == null && tipoProducto == null && marca == null &&
                    unidad == null && familia == null && subfamilia == null && clienteProveedor == null && estado == null)
                {
                    response.Message = "Debe asignar un estado";
                    return(response);
                }

                if (tipo_Descuento == null)
                {
                    response.Message = "Debe asignar un tipo de descuento";
                    return(response);
                }

                //if (tipoInventario == null)
                //{
                //    response.Message = "Debe asignar un tipo de inventario válido";
                //    return response;
                //}

                if (tipoMaterial == null)
                {
                    response.Message = "Debe asignar un tipo de material";
                    return(response);
                }

                if (tipoProducto == null)
                {
                    response.Message = "Debe asignar un tipo de producto";
                    return(response);
                }

                if (marca == null)
                {
                    response.Message = "Debe asignar una marca válida";
                    return(response);
                }

                if (unidad == null)
                {
                    response.Message = "Debe asignar una unidad";
                    return(response);
                }

                if (familia == null)
                {
                    response.Message = "Debe asignar una familia de productos";
                    return(response);
                }

                if (subfamilia == null)
                {
                    response.Message = "Debe asignar una subfamilia correspondiente";
                    return(response);
                }

                if (clienteProveedor == null)
                {
                    response.Message = "Debe asignar un cliente o proveedor";
                    return(response);
                }

                if (estado == null)
                {
                    response.Message = "Debe asignar un estado";
                    return(response);
                }

                if (await db.Productos.AsNoTracking().AnyAsync(p => p.ID_Producto == modelo.ID_Producto))
                {
                    response.Message = "Error el identificador ya existe...";
                    return(response);
                }

                //if (await db.Productos.AsNoTracking().AnyAsync(p => p.N_Producto.ToLower() == modelo.N_Producto.ToLower()))
                //{
                //    response.Message = "Error el registro ya existe...";
                //    return response;
                //}

                db.Add(modelo);
                db.SaveChanges();
                //
                response.IsSuccess = true;
                response.Result    = modelo;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(response);
        }
示例#15
0
        public Task <Response <Data.Entities.Producto> > UpdateAsync(Data.Entities.Producto modelo)
        {
            var response = new Response <Data.Entities.Producto>();

            response.IsSuccess = false;
            try
            {
                Data.Entities.Producto producto = db.Productos.Find(modelo.ID_Producto);
                Estado        estado            = db.Estados.Find(modelo.Estado.ID_Estado);
                TipoDescuento tipo_Descuento    = db.Tipo_Descuentos.Find(modelo.TipoDescuento.ID_Tipo_Descuento);
                Unidad        unidad            = db.Unidades.Find(modelo.Unidad.ID_Unidad);
                Marca         marca             = db.Marca.Find(modelo.Marca.ID_Marca);
                Familia       familia           = db.Familias.Find(modelo.Familia.ID_Familia);
                Subfamilia    subfamilia        = db.Subfamilia.Find(modelo.SubFamilia.ID_Subfamilia);
                Tipo_producto tipoProducto      = db.Tipo_Productos.Find(modelo.TipoProducto.ID_Tipo_Producto);
                //TipoInventario tipoInventario = db.Tipo_Inventario.Find(modelo.Tipo_inventario.ID_Tipo_Inventario);
                Tipo_material tipoMaterial = db.Tipo_Material.Find(modelo.TipoMaterial.ID_Tipo_Material);
                Data.Entities.ClienteProveedor clienteProveedor = db.ClienteProveedors.Find(modelo.ClienteProveedor.ID_Cliente_Proveedor);

                modelo.Estado        = estado;
                modelo.TipoDescuento = tipo_Descuento;
                modelo.Unidad        = unidad;
                modelo.Marca         = marca;
                modelo.Familia       = familia;
                modelo.SubFamilia    = subfamilia;
                modelo.TipoProducto  = tipoProducto;
                //modelo.Tipo_inventario = tipoInventario;
                modelo.TipoMaterial     = tipoMaterial;
                modelo.ClienteProveedor = clienteProveedor;


                if (producto == null)
                {
                    response.Message = "Debe proveer la información solicitada...";
                    return(Task.FromResult(response));
                }

                if (tipo_Descuento == null && tipoMaterial == null && tipoProducto == null && marca == null &&
                    unidad == null && familia == null && subfamilia == null && clienteProveedor == null && estado == null)
                {
                    response.Message = "Debe asignar un estado";
                    return(Task.FromResult(response));
                }

                if (tipo_Descuento == null)
                {
                    response.Message = "Debe asignar un tipo de descuento";
                    return(Task.FromResult(response));
                }

                //if (tipoInventario == null)
                //{
                //    response.Message = "Debe asignar un tipo de inventario válido";
                //    return response;
                //}

                if (tipoMaterial == null)
                {
                    response.Message = "Debe asignar un tipo de material";
                    return(Task.FromResult(response));
                }

                if (tipoProducto == null)
                {
                    response.Message = "Debe asignar un tipo de producto";
                    return(Task.FromResult(response));
                }

                if (marca == null)
                {
                    response.Message = "Debe asignar una marca válida";
                    return(Task.FromResult(response));
                }

                if (unidad == null)
                {
                    response.Message = "Debe asignar una unidad";
                    return(Task.FromResult(response));
                }

                if (familia == null)
                {
                    response.Message = "Debe asignar una familia de productos";
                    return(Task.FromResult(response));
                }

                if (subfamilia == null)
                {
                    response.Message = "Debe asignar una subfamilia correspondiente";
                    return(Task.FromResult(response));
                }

                if (clienteProveedor == null)
                {
                    response.Message = "Debe asignar un cliente o proveedor";
                    return(Task.FromResult(response));
                }

                if (estado == null)
                {
                    response.Message = "Debe asignar un estado";
                    return(Task.FromResult(response));
                }

                //if (await db.Productos.AsNoTracking().AnyAsync(p => p.N_Producto.ToLower() == modelo.N_Producto.ToLower()))
                //{
                //    response.Message = "Error el registro ya existe...";
                //    return response;
                //}

                //Asignación de nuevos atributos



                producto.N_Producto       = modelo.N_Producto;
                producto.Descripcion      = modelo.Descripcion;
                producto.Observaciones    = modelo.Observaciones;
                producto.Precio_Venta     = modelo.Precio_Venta;
                producto.Precio_Web       = modelo.Precio_Web;
                producto.Valor_Compra     = modelo.Valor_Compra;
                producto.Valor_Costo      = modelo.Valor_Costo;
                producto.Valor_Flete      = modelo.Valor_Flete;
                producto.Valor_Margen     = modelo.Valor_Margen;
                producto.Valor_Descuento  = modelo.Valor_Descuento;
                producto.Codigo_Barra     = modelo.Codigo_Barra;
                producto.Codigo_Interno   = modelo.Codigo_Interno;
                producto.Codigo_Parte     = modelo.Codigo_Parte;
                producto.Codigo_Proveedor = modelo.Codigo_Proveedor;
                producto.TipoDescuento    = tipo_Descuento;
                //producto.Tipo_inventario = tipoInventario;
                producto.TipoMaterial     = tipoMaterial;
                producto.TipoProducto     = tipoProducto;
                producto.Unidad           = unidad;
                producto.Marca            = marca;
                producto.Familia          = familia;
                producto.SubFamilia       = subfamilia;
                producto.ClienteProveedor = clienteProveedor;
                producto.Estado           = estado;

                //Referenciación a tablas anexas.
                db.Productos.Update(producto);
                db.SaveChanges();
                db.Entry(producto).State = EntityState.Detached;
                db.Entry(producto.TipoProducto).State  = EntityState.Detached;
                db.Entry(producto.TipoDescuento).State = EntityState.Detached;
                //db.Entry(producto.Tipo_inventario).State = EntityState.Detached;
                db.Entry(producto.TipoMaterial).State     = EntityState.Detached;
                db.Entry(producto.Unidad).State           = EntityState.Detached;
                db.Entry(producto.Marca).State            = EntityState.Detached;
                db.Entry(producto.Familia).State          = EntityState.Detached;
                db.Entry(producto.SubFamilia).State       = EntityState.Detached;
                db.Entry(producto.ClienteProveedor).State = EntityState.Detached;
                db.Entry(producto.Estado).State           = EntityState.Detached;

                //
                response.IsSuccess = true;
                response.Result    = producto;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(Task.FromResult(response));
        }
 private void rdbDescuento_CheckedChanged(object sender, EventArgs e)
 {
     tipoDescuento                   = TipoDescuento.Descuento;
     txtDescuento.ReadOnly           = false;
     txtPorcentajeDescuento.ReadOnly = true;
 }