public int Update_In(int Id, ItemInVM itemInVM)
        {
            var query = "SP_Update_Item";

            parameters.Add("@sp_id", Id);
            parameters.Add("@sp_name", itemInVM.Name);
            parameters.Add("@sp_type", itemInVM.Type);
            parameters.Add("@sp_stock", itemInVM.Stock);
            parameters.Add("@sp_info", itemInVM.Information);
            parameters.Add("@sp_status", itemInVM.Status);
            parameters.Add("@sp_brand_id", itemInVM.Brand_id);
            parameters.Add("@sp_sup_id", itemInVM.Supplier_id);
            parameters.Add("@sp_updatedate", itemInVM.UpdateDate);
            var post = _connectionString.Connections.Execute(query, parameters, commandType: CommandType.StoredProcedure);

            var query2 = "SP_Insert_IncomingItem";

            parameters.Add("@sp_name", itemInVM.Name);
            parameters.Add("@sp_stock", itemInVM.Temp);
            parameters.Add("@sp_info", itemInVM.Information);
            parameters.Add("@sp_date", DateTime.Now);
            parameters.Add("@sp_item_id", Id);
            parameters.Add("@sp_isdelete", false);
            var post2 = _connectionString.Connections.Execute(query2, parameters, commandType: CommandType.StoredProcedure);

            if (post > 0 && post2 > 0)
            {
                return(1);
            }
            return(0);
        }
        public ActionResult Put(int Id, ItemInVM itemInVM)
        {
            var get  = _itemRepository.Get(Id);
            var read = get.Result.Stock;

            itemInVM.Update();

            if (read < itemInVM.Stock)
            {
                itemInVM.Temp = itemInVM.Stock - read;
                var put_in = _itemRepository.Update_In(Id, itemInVM);
                if (put_in > 0)
                {
                    return(Ok("Update Success In"));
                }
            }
            else if (read > itemInVM.Stock)
            {
                itemInVM.Temp = read - itemInVM.Stock;
                var put_out = _itemRepository.Update_Out(Id, itemInVM);
                if (put_out > 0)
                {
                    return(Ok("Update Success Out"));
                }
            }
            return(BadRequest("Update Failed"));
        }
        public ActionResult Multiple_Post(ItemInVM itemInVM)
        {
            itemInVM.Create();
            var create = _itemRepository.Multiple_Post(itemInVM);

            if (create > 0)
            {
                return(Ok(create + " data has been created"));
            }
            return(BadRequest());
        }
        public JsonResult Edit_In_Out(int Id, ItemInVM item)
        {
            var myContent   = JsonConvert.SerializeObject(item);
            var buffer      = System.Text.Encoding.UTF8.GetBytes(myContent);
            var ByteContent = new ByteArrayContent(buffer);

            ByteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            var update = client.PutAsync("Items/Update_InOut/" + Id, ByteContent).Result;

            return(Json(new { data = update }));
        }
        public int Multiple_Post(ItemInVM itemInVM)
        {
            var query = "SP_Insert_Item";

            parameters.Add("@sp_name", itemInVM.Name);
            parameters.Add("@sp_type", itemInVM.Type);
            parameters.Add("@sp_stock", itemInVM.Stock);
            parameters.Add("@sp_info", itemInVM.Information);
            parameters.Add("@sp_status", itemInVM.Status);
            parameters.Add("@sp_brand_id", itemInVM.Brand_id);
            parameters.Add("@sp_sup_id", itemInVM.Supplier_id);
            parameters.Add("@sp_createdate", itemInVM.CreateDate);
            var post = _connectionString.Connections.Execute(query, parameters, commandType: CommandType.StoredProcedure);

            var queryget = "SP_Retrive_Id_ByItem";

            parameters.Add("@sp_name", itemInVM.Name);
            parameters.Add("@sp_type", itemInVM.Type);
            parameters.Add("@sp_stock", itemInVM.Stock);
            var get = _connectionString.Connections.Query <Item>(queryget, parameters, commandType: CommandType.StoredProcedure).SingleOrDefault();

            var query2 = "SP_Insert_IncomingItem";

            parameters.Add("@sp_name", itemInVM.Name);
            parameters.Add("@sp_stock", itemInVM.Stock);
            parameters.Add("@sp_info", itemInVM.Information);
            parameters.Add("@sp_date", DateTime.Now);
            parameters.Add("@sp_item_id", get.Id);
            var post2 = _connectionString.Connections.Execute(query2, parameters, commandType: CommandType.StoredProcedure);

            if (post > 0 && post2 > 0)
            {
                return(1);
            }
            return(0);
        }