public async Task <OrdenesDTO> ConvertToOrdersList(Dictionary <string, object> routes_list, string template) { OrdenesDTO objetoLocal = new OrdenesDTO(); try { foreach (var item in routes_list) { try { var jsonValues = ((JObject)item.Value).ToObject <Dictionary <string, object> >(); string plantilla = template; foreach (var json in jsonValues) { if (!string.IsNullOrEmpty(json.Key) && json.Value != null) { string pattern = @"\b" + json.Key + @"\b"; plantilla = Regex.Replace(plantilla, "@" + pattern, json.Value.ToString()); } } objetoLocal = JsonConvert.DeserializeObject <OrdenesDTO>(plantilla); } catch (Exception exc) { throw new Exception("Se produjo un error en la conversión: " + exc.Message); } } } catch (Exception exc) { throw exc; } return(await Task.FromResult(objetoLocal)); }
public async Task <ActionResult> Put(int id, OrdenesDTO orden) { var ordenes = await _repository.GetById(id); if (ordenes == null) { return(NotFound()); } if (ModelState.IsValid) { var response = await _repository.UpdateOrdenDto(id, orden); if (response) { return(NoContent()); } else { return(StatusCode(500)); } } return(BadRequest()); }
public async Task <OrdenesDTO> CrearOrdenProveedor(OrdenesRequestDTO ordenesRequestDTO) { var proveedorDTO = await BuscarProveedor(ordenesRequestDTO.codigoProveedor); if (!string.IsNullOrEmpty(proveedorDTO.BodyOrden)) { proveedorDTO.BodyOrden = proveedorDTO.BodyOrden.Replace("@codigo", ordenesRequestDTO.codigo); proveedorDTO.BodyOrden = proveedorDTO.BodyOrden.Replace("@CantidadOrdenada", ordenesRequestDTO.CantidadOrdenada.ToString()); } OrdenesDTO respuesta = await iProveedoresApiRepository.CrearOrdenProveedor(proveedorDTO); if (!string.IsNullOrEmpty(respuesta.numeroOrdenProveedor)) { respuesta.codigo = 1; respuesta.mensaje = "Proveedor aceptó la orden"; } else { respuesta.codigo = 0; respuesta.mensaje = "Proveedor no aceptó la orden"; } return(respuesta); }
public async Task <OrdenesDTO> ConvertToOrdersList(string xml, string template) { OrdenesDTO objetoLocal = new OrdenesDTO(); try { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string jsonT = JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None, true); JToken jObject = JToken.Parse(jsonT); var templateJson = JsonConvert.DeserializeObject <Dictionary <string, object> >(template); string plantilla = template; foreach (var item in templateJson) { try { JToken result = jObject.SelectToken(item.Value.ToString()); JToken temp = result; if (temp != null && temp.Type == JTokenType.String) { if (!string.IsNullOrEmpty(temp.ToString())) { string pattern = @"\b" + item.Value.ToString() + @"\b"; plantilla = Regex.Replace(plantilla, pattern, temp.ToString()); } } else { jObject = temp != null ? temp : jObject; continue; } } catch (Exception exc) { continue; } } objetoLocal = JsonConvert.DeserializeObject <OrdenesDTO>(plantilla); } catch (Exception exc) { throw exc; } return(await Task.FromResult(objetoLocal)); }
public async Task <List <OrdenesDTO> > GetOrders(int id) { var list = _context.Ordenes.Where(e => e.MesaId == id).ToList(); var dtoList = new List <OrdenesDTO>(); foreach (var item in list) { var dto = new OrdenesDTO { Id = item.Id, Estado = item.Estado, PlatosSeleccionados = item.PlatosSeleccionados, MesaId = item.MesaId, SubTotal = item.SubTotal }; dtoList.Add(dto); } return(dtoList); }
public async Task <bool> UpdateOrdenDto(int id, OrdenesDTO entity) { try { var orden = await GetById(id); orden.IdMesas = entity.IdMesas; orden.SubTotal = entity.SubTotal; orden.Estado = entity.Estado; await Update(orden); return(true); } catch (Exception e) { return(false); } }
public async Task <List <OrdenesDTO> > GetAllDto() { var list = await getAll(); var dtoList = new List <OrdenesDTO>(); foreach (var item in list) { var dto = new OrdenesDTO { Id = item.Id, Estado = item.Estado, MesaId = item.MesaId, PlatosSeleccionados = item.PlatosSeleccionados, SubTotal = item.SubTotal }; dtoList.Add(dto); } return(dtoList); }
public async Task <OrdenesDTO> CrearOrdenProveedor(ProveedorDTO fabricanteEntity) { OrdenesDTO objetoLocal = null; if (fabricanteEntity.TipoApi == "REST") { RestClient restClient = new RestClient(); string respuestaJSON = await restClient.MakeRequest (requestUrlApi : fabricanteEntity.UrlServicioOrden, JSONRequest : fabricanteEntity.BodyOrden, JSONmethod : fabricanteEntity.MetodoApiOrden, JSONContentType : "application/json", msTimeOut : -1); var routes_list = JsonConvert.DeserializeObject <Dictionary <string, object> >(respuestaJSON); objetoLocal = await _convertJsonToDto.ConvertToOrdersList(routes_list, fabricanteEntity.TransformacionOrdenes); } else if (fabricanteEntity.TipoApi == "SOAP") { System.Net.WebHeaderCollection collection = new System.Net.WebHeaderCollection(); collection.Add("SOAPAction", fabricanteEntity.SOAPActionOrden); collection.Add("Content-Type", "text/xml"); RestClient soapClient = new RestClient(); string respuestaXML = await soapClient.MakeRequest (requestUrlApi : fabricanteEntity.UrlServicioOrden, JSONRequest : fabricanteEntity.BodyOrden, JSONmethod : fabricanteEntity.MetodoApiOrden, JSONContentType : "text/xml", msTimeOut : -1, headers : collection); objetoLocal = await _convertXmlToDto.ConvertToOrdersList(respuestaXML, fabricanteEntity.TransformacionOrdenes); } return(objetoLocal); }
public async Task <bool> UpdateOrd(int id, Ordenes entity) { try { var orden = await getById(id); var dto = new OrdenesDTO { Id = orden.Id, Estado = orden.Estado, MesaId = orden.MesaId, PlatosSeleccionados = entity.PlatosSeleccionados, SubTotal = orden.SubTotal }; var update = _mapper.Map(dto, orden); await Update(update); return(true); } catch (Exception) { return(false); } }