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);
        }
示例#4
0
        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));
        }
示例#5
0
        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);
        }
示例#6
0
        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);
            }
        }
示例#7
0
        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);
        }
示例#9
0
        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);
            }
        }