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())); } }
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())); } }
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()); }