예제 #1
0
        public async Task <Response <Tipo_inventario> > DeleteAsync(Tipo_inventario modelo)
        {
            var response = new Response <Tipo_inventario>();

            response.IsSuccess = false;
            try
            {
                Tipo_inventario ti = await db.Tipo_Inventario.FirstOrDefaultAsync(ti => ti.ID_Tipo_Inventario == modelo.ID_Tipo_Inventario);

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

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

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

                //
                response.IsSuccess = true;
                response.Result    = ti;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(response);
        }
예제 #2
0
        public async Task <Response <Tipo_inventario> > UpdateAsync(Tipo_inventario modelo)
        {
            var response = new Response <Tipo_inventario>();

            response.IsSuccess = false;
            try
            {
                Tipo_inventario ti = await db.Tipo_Inventario.FirstOrDefaultAsync(ti => ti.ID_Tipo_Inventario == modelo.ID_Tipo_Inventario);

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

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

                if (await db.Tipo_Inventario.AsNoTracking().AnyAsync(ti => ti.N_Tipo_Inventario.ToLower() == modelo.N_Tipo_Inventario.ToLower() && ti.ID_Tipo_Inventario != modelo.ID_Tipo_Inventario))
                {
                    response.Message = "Error la descripcón ya existe...";
                    return(response);
                }

                //Asignación nuevos atributos

                ti.N_Tipo_Inventario = modelo.N_Tipo_Inventario;
                ti.Estado            = estado;

                //Asignación tablas anexas
                db.Tipo_Inventario.Update(ti);
                await db.SaveChangesAsync();

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

                //
                response.IsSuccess = true;
                response.Result    = ti;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
            }
            //
            return(response);
        }
예제 #3
0
        public async Task <Response <Tipo_inventario> > CreateAsync(Tipo_inventario modelo)
        {
            var response = new Response <Tipo_inventario>();

            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_Inventario.AsNoTracking().AnyAsync(ti => ti.ID_Tipo_Inventario == modelo.ID_Tipo_Inventario))
                {
                    response.Message = "Error el identificador ya existe...";
                    return(response);
                }

                if (await db.Tipo_Inventario.AsNoTracking().AnyAsync(ti => ti.N_Tipo_Inventario.ToLower() == modelo.N_Tipo_Inventario.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);
        }
예제 #4
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);
        }