Esempio n. 1
0
        public IHttpActionResult Read(VentasRequest ventasRequest)
        {
            var error = string.Empty;
            var data  = new List <VentasRow>();

            try
            {
                var regiones = ventasRequest.Region.Split(Auxiliar.ListSeparator).ToList();
                var tasks    = new List <Task <VentasResponse> >();
                foreach (var region in regiones)
                {
                    try
                    {
                        var unidadNeg = RepositoryByBusiness(region.ToUnidadNegocioByCountry());
                        tasks.Add(new Task <VentasResponse>(() =>
                        {
                            var ventasOper = _ventaCollection[unidadNeg].GetVentasCT(ventasRequest);
                            return(new VentasResponse()
                            {
                                Region = region,
                                CodigoRetorno = ventasOper[OutParameter.CodigoError].ToString(),
                                MensajeRetorno = ventasOper[OutParameter.MensajeError].ToString(),
                                VentaRowList = (IEnumerable <VentasRow>)ventasOper[OutParameter.CursorVentas]
                            });
                        }));
                    }
                    catch
                    {
                    }
                }
                tasks.ForEach(t => t.Start());
                Task.WaitAll(tasks.ToArray());
                var result = new List <object>();
                tasks.ForEach(t =>
                {
                    result.Add(new { t.Result.Region, t.Result.CodigoRetorno, t.Result.MensajeRetorno });
                    data.AddRange(t.Result.VentaRowList); // Agrega lista
                });
                return(Ok(new { result, data }));
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(InternalServerError(ex));
            }
            finally
            {
                (new
                {
                    Error = error,
                    Body = ventasRequest
                }).TryWriteLogObject(_logFileManager, _clientFeatures);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //lbRespuesta.Text = "";
            string        url         = "http://192.168.0.8/API/post.php";
            VentasRequest objProducto = new VentasRequest();

            objProducto.nombre_cliente = txt1.Text;
            objProducto.doc_cliente    = Int32.Parse(txt2.Text);
            objProducto.nombre_paquete = txt3.Text;
            objProducto.cantidad_dias  = Int32.Parse(text4.Text);
            objProducto.total          = Int32.Parse(text5.Text);
            objProducto.nombre_usuario = text6.Text;
            objProducto.fecha          = text7.Text;

            string resultado = Send <VentasRequest>(url, objProducto, "POST");
            //lbRespuesta.Text = resultado;
        }