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); }
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 }))); }
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("資料有誤,請重新檢視您的資料"); } }