public async Task <bool> UploadStockData(string UserId, UploadStockViewModel Model)
        {
            foreach (var tmp in Model.StockDataList)
            {
                var entity = new StockData();
                entity.Name         = tmp.Name;
                entity.ConfirmMonth = tmp.ConfirmMonth;
                entity.ConfirmYear  = tmp.ConfirmYear;
                entity.CreateDate   = DateTime.Now;
                entity.CreateUser   = UserId;
                entity.Name         = tmp.Name;
                entity.Status       = Status.Enabled;
                entity.StockNum     = tmp.StockNum;
                entity.UpdateDate   = DateTime.Now;
                entity.Version      = Model.Version;

                _stockDataRepository.Insert(entity);
            }
            return(_stockDataRepository.Save() > 0);
        }
Exemple #2
0
        public async Task <IActionResult> CreateStock([FromBody] UploadStockViewModel model)
        {
            var new_version = await _versionDataService.Create();

            if (new_version != 0)
            {
                model.Version = new_version;
                var result = await _stockDataService.UploadStockData("", model);

                if (result == false)
                {
                    var del_version = _versionDataService.Delete(new_version);
                    return(BadRequest(Json(new { version = 0 })));
                }
                else
                {
                    return(Ok(Json(new { version = new_version })));
                }
            }
            return(BadRequest(Json(new { version = 0 })));
        }
Exemple #3
0
        private void btnUploadStockData_Click(object sender, RibbonControlEventArgs e)
        {
            try
            {
                Worksheet                       currentSheet = Globals.ThisAddIn.GetActiveWorkSheet();
                UploadStockViewModel            uploadClass  = new UploadStockViewModel();
                List <UploadStockDataViewModel> dataList     = new List <UploadStockDataViewModel>();
                int versionData = 0;

                int i = 2;
                while ((currentSheet.Cells[i, 1] as Range).Value != null)
                {
                    for (int iMonth = 1; iMonth <= 12; iMonth++)
                    {
                        var Version    = (currentSheet.Cells[i, 1] as Range).Value.ToString();
                        var StockYear  = (currentSheet.Cells[i, 2] as Range).Value.ToString();
                        var StockMonth = (currentSheet.Cells[1, iMonth + 3] as Range).Value.ToString();
                        var StockNum   = (currentSheet.Cells[i, iMonth + 3] as Range).Value.ToString();
                        if (StockNum == "")
                        {
                            StockNum = "0";
                        }
                        var MaterialName = (currentSheet.Cells[i, 3] as Range).Value.ToString().Trim();

                        dataList.Add(new UploadStockDataViewModel()
                        {
                            ConfirmMonth = ConvertMonth(StockMonth),
                            ConfirmYear  = Convert.ToInt16(StockYear),
                            Name         = MaterialName,
                            StockNum     = Convert.ToInt32(StockNum),
                        });
                        versionData = Convert.ToInt16(Version);
                        //MessageBox.Show(Version + " / " + MaterialName + " / " + StockYear + " / " + StockMonth + " / " + StockNum);
                    }
                    i++;
                }

                if (dataList.Count > 0 && versionData != 0)
                {
                    //check year 是否一致, 是否為數值型態
                    if (Validation(dataList) == true)
                    {
                        uploadClass.Version       = versionData;
                        uploadClass.StockDataList = dataList;


                        var myContent      = JsonConvert.SerializeObject(uploadClass);
                        var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://xxxx.azurewebsites.net/api/Stock");
                        httpWebRequest.ContentType = "application/json";
                        httpWebRequest.Method      = "POST";

                        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                        {
                            streamWriter.Write(myContent);
                            streamWriter.Flush();
                            streamWriter.Close();
                        }

                        var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                        {
                            if (httpResponse.StatusCode == HttpStatusCode.OK)
                            {
                                var result = streamReader.ReadToEnd();

                                var value = JsonConvert.DeserializeObject(result);

                                var msg = JsonConvert.DeserializeObject <ReturnMsgViewModel>(result);

                                MessageBox.Show("資料上傳成功,上傳後最新版本為第" + msg.value.version.ToString() + "版");
                            }
                            else
                            {
                                MessageBox.Show("資料上傳有誤,請洽詢系統管理員");
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("沒有資料可以上傳,如果問題,請洽詢系統管理員");
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.ToString());
                MessageBox.Show("資料有誤,請重新檢視您的資料");
            }
        }