コード例 #1
0
        public async Task <ActionResult <AdjustmentItem> > inventory_adjustments_getId(string id)
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);
            var            query    = DataAccess.DataQuery.Create("dms", "ws_adjustments_get", new
            {
                id = id
            });

            query += DataAccess.DataQuery.Create("dms", "ws_stocks_list_by_permission");
            query += DataAccess.DataQuery.Create("dms", "ws_categories_get", new
            {
                module = "adjustment_reasons"
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }
            else
            {
                var result = new AdjustmentItem();
                if (ds.Tables[0].ToModel <Adjustment>().Count > 0)
                {
                    result.adjustment          = ds.Tables[0].ToModel <Adjustment>()[0];
                    result.adjustment.products = ds.Tables[1].ToModel <Product>();
                }
                result.stocks             = ds.Tables[2].ToModel <Stock>();
                result.adjustment_reasons = ds.Tables[3].ToModel <Category>();
                return(result);
            }
        }
コード例 #2
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            var query = TrilmDataAccess.DataQuery.Create("Security", "ws_Session_List", new
            {
                FacID = 2
            });
             query += TrilmDataAccess.DataQuery.Create("Security", "ws_Permissions_Save", new
            {
                FacID = 1,
                UserID="",
                PermissionID=""
            });

            var watch = System.Diagnostics.Stopwatch.StartNew();

            var result = await clientServices.ExecuteAsync(query);
           
            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;
                   
            if(clientServices.LastError=="")
            {
                lblStatus.Text = string.Format("Return rows {2}.Execution time of a method {0} s {1} ms: ",watch.Elapsed.Seconds,watch.Elapsed.Milliseconds,result.Tables[0].Rows.Count+ result.Tables[1].Rows.Count);
            }
            else
            {
                lblStatus.Text = clientServices.LastError;
            }
        }
コード例 #3
0
        public async Task <ActionResult> inventory_adjustments_dieuchinh(
            string id, string in_stock_id, int reason_id
            )
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);

            using (var reader = new StreamReader(Request.Body))
            {
                var body = reader.ReadToEnd();
                _logger.LogInformation(body);
                var query = DataAccess.DataQuery.Create("dms", "ws_adjustments_dieuchinh", new
                {
                    id,
                    in_stock_id,
                    product_json = body,
                    reason_id
                });
                var ds = await Services.ExecuteAsync(query);

                if (ds == null)
                {
                    return(Ok(Services.LastError));
                }
                else
                {
                    return(Ok("Ok"));
                }
                // Do something
            }
        }
コード例 #4
0
        public async Task <ActionResult <List <Filter> > > Get(string module)
        {
            string sessionID
                = Request.Headers["Session-ID"];

            try
            {
                ClientServices Services = new ClientServices(sessionID);
                var            query    = DataAccess.DataQuery.Create("dms", "ws_filter_get", new
                {
                    module = module
                });
                var ds = await Services.ExecuteAsync(query);

                if (ds == null)
                {
                    return(BadRequest(Services.LastError));
                }
                else
                {
                    var result = new List <Filter>();
                    result = ds.Tables[0].ToModel <Filter>();
                    foreach (var item in result)
                    {
                        item.filter_expressions = JsonConvert.DeserializeObject <List <FilterExpression> >(item.expressions);
                    }
                    return(result);
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #5
0
        public async Task <ActionResult <Store> > GetItem(Guid store_id)
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);
            var            query    = DataAccess.DataQuery.Create("dms", "ws_stores_get", new
            {
                id = store_id
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(ds.Tables[0].ToModel <Store>()[0]);
            }
            else
            {
                return new Store()
                       {
                           id = Guid.NewGuid().ToString(), is_active = true
                       }
            };
        }
    }
コード例 #6
0
        public async Task <ActionResult <Visit> > GetItem(String id)
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);
            var            query    = DataAccess.DataQuery.Create("dms", "ws_visits_get", new
            {
                id = id
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }

            var visit = ds.Tables[0].ToModel <Visit>()[0];

            if (ds.Tables[1].Rows.Count > 0)
            {
                var order = ds.Tables[1].ToModel <Order>()[0];
                order.products = ds.Tables[2].ToModel <Product>();
                visit.order    = order;
            }

            List <ImageS3> image_checkin  = new List <ImageS3>();
            List <ImageS3> image_checkout = new List <ImageS3>();

            foreach (DataRow row in ds.Tables[3].Rows)
            {
                if (row["type"].ToString() == "Check-in")
                {
                    image_checkin.Add(new ImageS3()
                    {
                        path = row["server_path"].ToString()
                    });
                }
                if (row["type"].ToString() == "Check-out")
                {
                    image_checkout.Add(new ImageS3()
                    {
                        path = row["server_path"].ToString()
                    });
                }
            }

            visit.checkin_images  = image_checkin;
            visit.checkout_images = image_checkout;
            visit.store           = ds.Tables[4].ToModel <Store>()[0];
            return(visit);
        }
コード例 #7
0
        public async Task <ActionResult <List <Stock> > > GetItem()
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);
            var            query    = DataAccess.DataQuery.Create("dms", "ws_stocks_list");
            var            ds       = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }
            else
            {
                return(ds.Tables[0].ToModel <Stock>());
            }
        }
コード例 #8
0
        public async Task <ActionResult <List <Filter> > > PostItem(string module, string id, string name)
        {
            string sessionID
                = Request.Headers["Session-ID"];

            try
            {
                using (var reader = new StreamReader(Request.Body))
                {
                    var body = reader.ReadToEnd();
                    _logger.LogInformation(body);
                    ClientServices Services = new ClientServices(sessionID);
                    var            query    = DataAccess.DataQuery.Create("dms", "ws_filters_save", new
                    {
                        module,
                        id,
                        name,
                        filter_expression = body
                    });
                    query += DataAccess.DataQuery.Create("dms", "ws_filter_get", new
                    {
                        module = module
                    });
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        var result = ds.Tables[1].ToModel <Filter>();
                        foreach (var item in result)
                        {
                            item.filter_expressions = JsonConvert.DeserializeObject <List <FilterExpression> >(item.expressions);
                        }
                        return(result);
                    }
                    // Do something
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #9
0
        public async Task <ActionResult <string> > PostItem()
        {
            string sessionID
                = Request.Headers["Session-ID"];

            try
            {
                using (var reader = new StreamReader(Request.Body))
                {
                    var body = reader.ReadToEnd();
                    _logger.LogInformation(body);
                    var product = JsonConvert.DeserializeObject <Product>(body);

                    ClientServices Services = new ClientServices(sessionID);
                    var            query    = DataAccess.DataQuery.Create("dms", "ws_products_save", new
                    {
                        id          = product.id,
                        no          = product.no,
                        name        = product.name,
                        description = product.description,
                        unit        = product.unit,
                        price       = product.sell_price,
                        is_active   = product.is_active,
                        image_path  = product.image_path
                    });
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        return(Ok("Ok"));
                    }
                    // Do something
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #10
0
        public async Task <ActionResult <string> > GetItem(string username, string password)
        {
            string         sessionID = Guid.NewGuid().ToString();
            ClientServices Services  = new ClientServices(sessionID);
            var            query     = DataAccess.DataQuery.Create("dms", "ws_users_login_web", new
            {
                user_name     = username,
                password_hash = password.GetMd5Hash()
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }
            else
            {
                return(ds.Tables[0].Rows[0][0].ToString());
            }
        }
コード例 #11
0
        public async Task <ActionResult <List <Product> > > GetItem(string stock_id_in = "00000000-0000-0000-0000-000000000000", string stock_id_out = "00000000-0000-0000-0000-000000000000")
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);
            var            query    = DataAccess.DataQuery.Create("dms", "ws_products_list", new
            {
                stock_id_in,
                stock_id_out
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }
            else
            {
                return(ds.Tables[0].ToModel <Product>());
            }
        }
コード例 #12
0
        public async Task <ActionResult <string> > ListItems(string phieu_xuat_id, int status)
        {
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);
            var            query    = DataAccess.DataQuery.Create("dms", "ws_phieu_xuat_approved", new
            {
                phieu_xuat_id = phieu_xuat_id,
                status
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }
            else
            {
                return("Ok");
            }
        }
コード例 #13
0
        public async Task <ActionResult <string> > PostItem(string import_stock_id, string export_stock_id, string phieu_nhap_id, string phieu_xuat_id)
        {
            string sessionID
                = Request.Headers["Session-ID"];

            try
            {
                using (var reader = new StreamReader(Request.Body))
                {
                    var body = reader.ReadToEnd();
                    _logger.LogInformation(body);

                    ClientServices Services = new ClientServices(sessionID);
                    var            query    = DataAccess.DataQuery.Create("dms", "ws_phieu_xuat_detail_save", new
                    {
                        import_stock_id,
                        export_stock_id,
                        phieu_nhap_id,
                        phieu_xuat_id,
                        type         = 1,
                        product_json = body
                    });
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        return(Ok("Ok"));
                    }
                    // Do something
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #14
0
        public async Task <ActionResult <List <Visit> > > getAll(string searchText = "", string filter = "[]")
        {
            if (!Request.Headers.ContainsKey("Session-ID"))
            {
                return(BadRequest("Token faild"));
            }
            string sessionID
                = Request.Headers["Session-ID"];
            ClientServices Services = new ClientServices(sessionID);

            var query = DataAccess.DataQuery.Create("dms", "ws_visits_list", new
            {
                filter_expression = filter,
                search_text       = searchText
            });
            var ds = await Services.ExecuteAsync(query);

            if (ds == null)
            {
                return(BadRequest(Services.LastError));
            }

            return(ds.Tables[0].ToModel <Visit>());
        }
コード例 #15
0
        public async Task <ActionResult <List <FilterFieldNameValues> > > GetValues(string module)
        {
            var    result = new List <FilterFieldNameValues>();
            string sessionID
                = Request.Headers["Session-ID"];

            try
            {
                ClientServices Services = new ClientServices(sessionID);

                if (module == "inventory_adjustments")
                {
                    var query = DataAccess.DataQuery.Create("dms", "ws_stocks_list_by_permission");
                    query += DataAccess.DataQuery.Create("dms", "ws_categories_get", new
                    {
                        module = "adjustment_reasons"
                    });
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        var stocks = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            var stock = new FilterValue();
                            stock.id    = row["id"].ToString();
                            stock.value = row["name"].ToString();
                            stocks.Add(stock);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "stock_id",
                            filter_values = stocks
                        });

                        var adjustment_reasons = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[1].Rows)
                        {
                            var item = new FilterValue();
                            item.id    = row["id"].ToString();
                            item.value = row["name"].ToString();
                            adjustment_reasons.Add(item);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "adjustment_reason_id",
                            filter_values = adjustment_reasons
                        });
                    }
                }
                if (module == "inventory_transactions")
                {
                    var query = DataAccess.DataQuery.Create("dms", "ws_stocks_list_by_permission");
                    query += DataAccess.DataQuery.Create("dms", "ws_products_list");
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        var stocks = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            var item = new FilterValue();
                            item.id    = row["id"].ToString();
                            item.value = row["name"].ToString();
                            stocks.Add(item);
                        }

                        var products = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[1].Rows)
                        {
                            var item = new FilterValue();
                            item.id    = row["id"].ToString();
                            item.value = row["name"].ToString();
                            products.Add(item);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "stock_id",
                            filter_values = stocks
                        });
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "product_id",
                            filter_values = products
                        });
                    }
                }
                if (module == "inventory_purchase_orders")
                {
                    var query = DataAccess.DataQuery.Create("dms", "ws_stocks_list_by_permission");
                    query += DataAccess.DataQuery.Create("dms", "ws_purchase_order_status_list");
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        var stocks = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            var stock = new FilterValue();
                            stock.id    = row["id"].ToString();
                            stock.value = row["name"].ToString();
                            stocks.Add(stock);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "stock_id",
                            filter_values = stocks
                        });

                        var purchase_order_status = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[1].Rows)
                        {
                            var item = new FilterValue();
                            item.id    = row["id"].ToString();
                            item.value = row["name"].ToString();
                            purchase_order_status.Add(item);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "purchase_order_status_id",
                            filter_values = purchase_order_status
                        });
                    }
                }
                if (module == "orders")
                {
                    var query = DataAccess.DataQuery.Create("dms", "ws_stocks_list_by_permission");
                    //query += DataAccess.DataQuery.Create("dms", "ws_purchase_order_status_list");
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        var stocks = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            var stock = new FilterValue();
                            stock.id    = row["id"].ToString();
                            stock.value = row["name"].ToString();
                            stocks.Add(stock);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "stock_id",
                            filter_values = stocks
                        });

                        var exportStatus = new List <FilterValue>();

                        var item = new FilterValue();
                        item.id    = "0";
                        item.value = "Chưa xuất";
                        exportStatus.Add(item);

                        var item2 = new FilterValue();
                        item2.id    = "1";
                        item2.value = "Đã xuất";
                        exportStatus.Add(item2);


                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "is_export_stock",
                            filter_values = exportStatus
                        });
                    }
                }
                if (module == "visits")
                {
                    var query = DataAccess.DataQuery.Create("dms", "ws_stores_list");
                    //query += DataAccess.DataQuery.Create("dms", "ws_purchase_order_status_list");
                    var ds = await Services.ExecuteAsync(query);

                    if (ds == null)
                    {
                        return(BadRequest(Services.LastError));
                    }
                    else
                    {
                        var stores = new List <FilterValue>();
                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            var store = new FilterValue();
                            store.id    = row["id"].ToString();
                            store.value = row["name"].ToString();
                            stores.Add(store);
                        }
                        result.Add(new FilterFieldNameValues()
                        {
                            field_name    = "store_id",
                            filter_values = stores
                        });
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }