Exemple #1
0
        public async Task <int> CrearAsync(ProveedorDetalle proveedor, int usuarioId)
        {
            var nombre         = proveedor.Nombre.Trim().ToLowerInvariant();
            var nombreContacto = proveedor.NombreDeContacto?.Trim()?.ToLowerInvariant();
            var direccion      = proveedor.Direccion?.Trim()?.ToLowerInvariant();

            if (await ExisteProveedor(nombre))
            {
                throw new InvalidOperationException($"El proveedor {nombre} ya existe.");
            }

            var nuevoProveedor = new Proveedor
            {
                Nombre            = nombre,
                NombreDeContacto  = nombreContacto,
                Direccion         = direccion,
                UsuarioCreacionId = usuarioId,
                UsuarioModificaId = usuarioId
            };

            db.Proveedores.Add(nuevoProveedor);

            var filasAfectadas = await db.SaveChangesAsync();

            if (filasAfectadas > 0)
            {
                return(nuevoProveedor.Id);
            }
            else
            {
                return(-1);
            }
        }
Exemple #2
0
        public async Task <IActionResult> Post([FromBody] ProveedorDetalle proveedor)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelState));
            }
            var usuarioId   = User.Id();
            var proveedorId = await proveedores.CrearAsync(proveedor, usuarioId);

            var result = await proveedores.ObtenerUnicoAsync(proveedorId);

            return(CreatedAtRoute("GetProveedor", new { id = proveedorId }, result));
        }
Exemple #3
0
        public async Task <IActionResult> Put(int id, [FromBody] ProveedorDetalle proveedor)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelState));
            }

            var usuarioId  = User.Id();
            var modificado = await proveedores.EditarAsync(id, proveedor, usuarioId);

            if (modificado)
            {
                var result = await proveedores.ObtenerUnicoAsync(id);

                return(Ok(result));
            }
            else
            {
                return(new HttpStatusCodeResult((int)HttpStatusCode.NotModified));
            }
        }
Exemple #4
0
        public async Task <bool> EditarAsync(int id, ProveedorDetalle proveedor, int usuarioId)
        {
            var proveedorAEditar = await db.Proveedores.Include(x => x.Telefonos).Include(x => x.Productos).SingleOrDefaultAsync(x => x.Id == id);

            if (proveedorAEditar == null)
            {
                throw new RegistroNoEncontradoException($"No existe el proveedor {id}");
            }

            var nombre         = proveedor.Nombre.Trim().ToLowerInvariant();
            var nombreContacto = proveedor.NombreDeContacto.Trim().ToLowerInvariant();
            var direccion      = proveedor.Direccion.Trim().ToLowerInvariant();

            proveedorAEditar.Nombre            = nombre;
            proveedorAEditar.NombreDeContacto  = nombreContacto;
            proveedorAEditar.Direccion         = direccion;
            proveedorAEditar.UsuarioCreacionId = usuarioId;
            proveedorAEditar.UsuarioModificaId = usuarioId;

            var filasAfectadas = await db.SaveChangesAsync();

            return(filasAfectadas > 0);
        }