public async Task <IActionResult> VincularCliente([FromBody] VincularClienteRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } var dist = _context.Distribuidor.Where(d => d.id == request.DistId).FirstOrDefault(); if (dist == null) { return(BadRequest(new Response { IsSuccess = false, Message = "El distribuidor especificado no existe." })); } var clie = _context.Cliente.Where(c => c.id == request.ClienteId).FirstOrDefault(); if (clie == null) { return(BadRequest(new Response { IsSuccess = false, Message = "El cliente especificado no existe." })); } List <ClienteDistribuidor> validacion = _context.ClienteDistribuidor .Where(cd => cd.ClienteId == clie.id && cd.DistribuidorId == dist.id).ToList(); if (validacion.Count > 0) { return(BadRequest(new Response { IsSuccess = false, Message = "Los dos usuarios ya estan vinculados." })); } _context.ClienteDistribuidor.Add(new ClienteDistribuidor { ClienteId = clie.id, DistribuidorId = dist.id, }); await _context.SaveChangesAsync(); return(NoContent()); }
public async Task <Response> VincularCliente( string urlBase, string servicePrefix, string controller, VincularClienteRequest request) { try { string requestString = JsonConvert.SerializeObject(request); StringContent content = new StringContent(requestString, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Response { IsSuccess = false, Message = result, }); } return(new Response { IsSuccess = true, Result = "exitoso" }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message }); } }