public IActionResult GetProductosByCompany([FromBody] UpdateEmpresaViewModel model)
        {
            try
            {
                var user = _contextUGOCP.Users
                           .Include(u => u.LstCompany)
                           .ThenInclude(p => p.LstProduct)
                           .ThenInclude(p => p.LstMonthsOfHarvest)
                           .Where(u => u.Id == model.IdUsuario).FirstOrDefault();

                if (user == null)
                {
                    return(this.BadResponse("No se encontro al usuario."));
                }

                var lstProductos = user.LstCompany.FirstOrDefault(lc => lc.IdCompany == model.IdEmpresa).LstProduct;
                if (lstProductos.Count() == 0)
                {
                    return(this.BadResponse("Esta empresa no tiene productos registrados."));
                }

                return(this.OkResponse(lstProductos));
            }
            catch (Exception ex)
            {
                return(this.BadResponse(ex.ToString()));
            }
        }
예제 #2
0
 public IActionResult UpdateEmpresa([FromBody] UpdateEmpresaViewModel empresaModel)
 {
     try
     {
         var user = _contextUGOCP.Users
                    .Include(u => u.LstCompany)
                    .Where(u => u.Id == empresaModel.IdUsuario).FirstOrDefault();
         if (user == null)
         {
             return(this.BadResponse("No se encontro al usuario."));
         }
         var empresa = user.LstCompany.FirstOrDefault(lc => lc.IdCompany == empresaModel.IdEmpresa);
         empresa.Name        = empresaModel.Name;
         empresa.PhoneNumber = empresaModel.PhoneNumber;
         empresa.Address     = empresaModel.Address;
         empresa.IdLocalidad = empresaModel.IdLocalidad;
         var localidad = _contextLocalidad.Localidades.FirstOrDefault(l => l.Id == empresaModel.IdLocalidad);
         empresa.localidad = localidad.Nombre;
         _contextUGOCP.Update(empresa);
         _contextUGOCP.SaveChanges();
         return(this.OkResponse("Cambios Guardados correctamente."));
     }
     catch (Exception ex)
     {
         return(this.BadResponse(ex.ToString()));
     }
 }
예제 #3
0
        public async Task <IActionResult> Update([FromBody] UpdateEmpresaViewModel model)
        {
            if (!ModelState.IsValid)//validando
            {
                return(BadRequest(ModelState));
            }
            if (model.EmpresaId <= 0)//validando que el Empresaid llegue por parametro en positivo
            {
                return(BadRequest());
            }

            //como todo es asincrono se le pone le await
            var cat = await _context.Empresas.FirstOrDefaultAsync(c => c.EmpresaId == model.EmpresaId);//si encuentra coincidencia lo asigna al cat(encuentra un objeto)

            if (cat == null)
            {
                return(NotFound());
            }
            //el Empresaid ya esta por defecto
            cat.Nombre   = model.Nombre;
            cat.Correo   = model.Correo;
            cat.Ruc      = model.Ruc;
            cat.Telefono = model.Telefono;

            try
            {
                //palabra reservada
                await _context.SaveChangesAsync();//guardando cambios hacia la bd, siempre se utiliza el try-catch
            }
            catch (Exception)
            {
                return(BadRequest());
            }

            return(Ok());
        }