public ResultModel updateHouseItem(PRODUCTITEM model) { ResultModel result = new ResultModel(); try { if (model.pidx == 0) { HyundaiContext.AddToPRODUCTITEM(model); } else { PRODUCTITEM entity = HyundaiContext.PRODUCTITEM.Where(c => c.pidx == model.pidx).FirstOrDefault(); PRODUCTITEM newEntity = Mapper.Map(model, entity); newEntity.hidx = entity.hidx; HyundaiContext.PRODUCTITEM.ApplyCurrentValues(newEntity); } HyundaiContext.SaveChanges(); } catch (Exception ex) { result.ResultCode = -1; result.ResultMessage = ex.Message; throw ex; } return(result); }
private PRODUCTITEM getXLSProductItem3(IList <Cell> sheetData, int hidx) { var model = new PRODUCTITEM(); model.hidx = hidx; model.itemName = sheetData[28]; model.itemQty = Convert.ToInt16(sheetData[29]); model.itemAmt = Convert.ToDecimal(sheetData[30]); model.ItemTotalAmt = Convert.ToDecimal(sheetData[31]); return(model); }
public ActionResult updateHouseItem(ProductItemModel model) { ResultModel result = new ResultModel(); try { Mapper.CreateMap <ProductItemModel, PRODUCTITEM>(); PRODUCTITEM entity = Mapper.Map <ProductItemModel, PRODUCTITEM>(model); result = blService.updateHouseItem(entity); } catch (Exception ex) { result.ResultCode = -1; result.ResultMessage = ex.Message; throw ex; } return(Json(result)); }
public ResultModel deleteHouseItem(ParameterModel model) { ResultModel result = new ResultModel(); try { if (model.pidx != 0) { PRODUCTITEM entity = HyundaiContext.PRODUCTITEM.Where(c => c.pidx == model.pidx).FirstOrDefault(); HyundaiContext.PRODUCTITEM.DeleteObject(entity); } HyundaiContext.SaveChanges(); } catch (Exception ex) { result.ResultCode = -1; result.ResultMessage = ex.Message; throw ex; } return(result); }
public ResultModel setHBL(HBLAPIModel model) { ResultModel result = new ResultModel(); try { var hbl = new HBL(); Mapper.CreateMap <HBLAPIModel, HBL>(); Mapper.Map(model, hbl); var converter = new KoreanRomanizer(); using (var scope = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromMinutes(5))) { int hidx = 0; int hblCnt = 0; string hblNo = ""; var transportCodeModel = HyundaiContext.CODE.Where(c => c.GROUPCD == 1002).ToList(); if (!string.IsNullOrEmpty(hbl.HblNo)) { if (hbl.HblNo == null || hbl.HblNo.Length != 13) { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No. : " + hblNo; scope.Dispose(); return(result); } if (HyundaiContext.HBL.Where(h => h.HblNo == hbl.HblNo).Count() > 0) { result.ResultCode = -1; result.ResultMessage = "HBL already exists : " + hblNo; scope.Dispose(); return(result); } if (string.IsNullOrEmpty(hbl.ConsigneeEngName)) { hbl.ConsigneeEngName = converter.romanize(hbl.ConsigneeName); } if (string.IsNullOrEmpty(hbl.EngZipaddress)) { string zipcode = hbl.ConsigneeZipCode.Replace("-", ""); var zipModel = HyundaiContext.ZIPCODE.Where(c => c.Zipcode1 == zipcode).FirstOrDefault(); if (zipModel != null) { hbl.EngZipaddress = zipModel.Address_Eng; } else { hbl.EngZipaddress = converter.romanize(hbl.ConsigneeZipAddress); } } if (string.IsNullOrEmpty(hbl.EngAddress)) { hbl.EngAddress = converter.romanize(hbl.ConsigneeAddress); } hbl.WeightType = 5; hbl.CreateDate = DateTime.Now; hbl.Status = 20; HyundaiContext.AddToHBL(hbl); HyundaiContext.SaveChanges(); hidx = hbl.hidx; //priductitem foreach (var item in model.itemList) { var productItem = new PRODUCTITEM(); productItem.hidx = hidx; productItem.itemAmt = item.itemAmt; productItem.itemBrand = item.itemBrand; productItem.itemName = item.itemName; productItem.itemQty = item.itemQty; productItem.ItemTotalAmt = item.ItemTotalAmt; productItem.url = item.url; HyundaiContext.AddToPRODUCTITEM(productItem); } HyundaiContext.SaveChanges(); } else { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No."; } scope.Complete(); } } catch (Exception ex) { result.ResultCode = -1; result.ResultMessage = ex.Message; throw ex; } return(result); }
public ResultModel uploadHouseBL(USER userInfo, string filePath) { ResultModel result = new ResultModel(); try { string e = Path.GetExtension(filePath).ToLower(); if (e != ".xls" && e != ".xlsx") { result.ResultCode = -1; result.ResultMessage = "엑셀 파일이 아닙니다."; } else { var excelFIle = new ExcelQueryFactory(filePath); var worksheetNames = excelFIle.GetWorksheetNames(); string sheetName = "Sheet1"; foreach (var sheet in worksheetNames) { if (sheet.Substring(sheet.Length - 1) != "_") { var columnCnt = excelFIle.Worksheet(sheet).FirstOrDefault().Count(); if (columnCnt == 29 || columnCnt == 31 || columnCnt == 30 || columnCnt == 33 || columnCnt == 123) { sheetName = sheet; } } } var hblData = excelFIle.Worksheet(sheetName).ToList(); var converter = new KoreanRomanizer(); using (var scope = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromMinutes(5))) { int hidx = 0; int hblCnt = 0; string hblNo = ""; try { var transportCodeModel = HyundaiContext.CODE.Where(c => c.GROUPCD == 1002).ToList(); foreach (var item in hblData) { var model = new HBL(); if (item.Count() == 31) { if (!string.IsNullOrEmpty(item[2])) { hblCnt++; model.HblNo = item[2].ToString().Trim(); hblNo = item[2].ToString().Trim(); if (hblNo == null) { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No. : " + hblNo; scope.Dispose(); return(result); } if (HyundaiContext.HBL.Where(h => h.HblNo == hblNo).Count() > 0) { result.ResultCode = -1; result.ResultMessage = "HBL already exists : " + hblNo; scope.Dispose(); return(result); } if (item[4].Value != null && item[4].Value != "") { var dateStr = DateTime.Parse(item[4].Value.ToString().Split(' ')[0]); model.OnBoardDate = dateStr; } model.ShipperCd = item[5]; model.ShipperName = item[6]; model.ShipperAddress = item[7]; model.ShipperCity = item[8]; model.ShipperState = item[9]; model.ShipperZipCode = item[10]; model.ShipperPhone = item[11]; model.ConsigneeName = item[12]; model.ConsigneeEngName = converter.romanize(model.ConsigneeName); model.ConsigneeZipCode = item[13]; model.ConsigneeZipAddress = item[14]; model.ConsigneeAddress = item[15]; model.ConsigneePhone = item[16]; model.ConsigneeCellPhone = item[17]; model.Memo = item[18]; model.juminNo = item[19]; string TransPortType = string.IsNullOrEmpty(item[21]) ? "B" : item[21]; model.TransportType = transportCodeModel.Where(c => c.GROUPCD == 1002 && c.CD == TransPortType).FirstOrDefault().cdidx; model.WeightType = 5; model.Weight = Convert.ToDecimal(item[24]); model.Carton = Convert.ToInt16(item[25]); model.CreateDate = DateTime.Now; model.CreateId = userInfo.uidx; model.cidx = userInfo.cidx; model.Status = 20; string zipcode = model.ConsigneeZipCode.Replace("-", ""); var zipModel = HyundaiContext.ZIPCODE.Where(c => c.Zipcode1 == zipcode).FirstOrDefault(); if (zipModel != null) { model.EngZipaddress = zipModel.Address_Eng; } else { model.EngZipaddress = converter.romanize(model.ConsigneeZipAddress); } model.EngAddress = converter.romanize(model.ConsigneeAddress); HyundaiContext.AddToHBL(model); HyundaiContext.SaveChanges(); hidx = model.hidx; // var productItem = getXLSProductItem(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } else if (!string.IsNullOrEmpty(item[26])) { var productItem = getXLSProductItem(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } } else if (item.Count() == 30) { if (!string.IsNullOrEmpty(item[1]) && item[1] != "운송장번호") { hblCnt++; model.HblNo = item[1]; hblNo = item[1]; if (hblNo == null) { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No. : " + hblNo; scope.Dispose(); return(result); } if (HyundaiContext.HBL.Where(h => h.HblNo == hblNo).Count() > 0) { result.ResultCode = -1; result.ResultMessage = "HBL already exists : " + hblNo; scope.Dispose(); return(result); } model.ShipperName = item[3]; model.ShipperAddress = item[5] + " " + item[6]; model.ShipperZipCode = item[4]; model.ShipperPhone = item[7]; model.ConsigneeName = item[9]; model.ConsigneeEngName = converter.romanize(model.ConsigneeName); model.ConsigneeZipCode = item[11]; model.ConsigneeZipAddress = item[12]; model.ConsigneeAddress = item[13]; model.ConsigneePhone = item[16]; model.ConsigneeCellPhone = item[17]; model.OnBoardDate = DateTime.Now; model.Memo = item[23]; model.juminNo = item[8]; string TransPortType = "B"; model.TransportType = transportCodeModel.Where(c => c.GROUPCD == 1002 && c.CD == TransPortType).FirstOrDefault().cdidx; model.WeightType = 5; model.Weight = Convert.ToDecimal(item[19]); model.Carton = Convert.ToInt16(item[18]); model.CreateDate = DateTime.Now; model.CreateId = userInfo.uidx; model.cidx = userInfo.cidx; model.Status = 20; string zipcode = model.ConsigneeZipCode.Replace("-", ""); var zipModel = HyundaiContext.ZIPCODE.Where(c => c.Zipcode1 == zipcode).FirstOrDefault(); if (zipModel != null) { model.EngZipaddress = zipModel.Address_Eng; } else { model.EngZipaddress = converter.romanize(model.ConsigneeZipAddress); } model.EngAddress = converter.romanize(model.ConsigneeAddress); HyundaiContext.AddToHBL(model); HyundaiContext.SaveChanges(); hidx = model.hidx; // var productItem = getXLSProductItem2(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } else if (!string.IsNullOrEmpty(item[24]) && item[24] != "ITEM_NM") { var productItem = getXLSProductItem2(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } } else if (item.Count() == 33) // 신 우정 양식 { if (!string.IsNullOrEmpty(item[1]) && item[1] != "운송장번호") { hblCnt++; model.HblNo = item[1]; hblNo = item[1]; if (hblNo == null) { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No. : " + hblNo; scope.Dispose(); return(result); } if (HyundaiContext.HBL.Where(h => h.HblNo == hblNo).Count() > 0) { result.ResultCode = -1; result.ResultMessage = "HBL already exists : " + hblNo; scope.Dispose(); return(result); } model.ShipperName = item[3]; model.ShipperAddress = item[5]; model.ShipperZipAddress = item[6]; model.ShipperZipCode = item[4]; model.ShipperPhone = item[7]; model.ConsigneeName = item[9]; model.ConsigneeEngName = item[10]; if (string.IsNullOrEmpty(model.ConsigneeEngName) || model.ConsigneeEngName == ".") { model.ConsigneeEngName = converter.romanize(model.ConsigneeName); } model.ConsigneeZipCode = item[11]; model.ConsigneeZipAddress = item[12]; model.ConsigneeAddress = item[13]; model.EngZipaddress = item[14]; model.EngAddress = item[15]; if (string.IsNullOrEmpty(model.EngZipaddress) || model.EngZipaddress == ".") { string zipcode = model.ConsigneeZipCode.Replace("-", ""); var zipModel = HyundaiContext.ZIPCODE.Where(c => c.Zipcode1 == zipcode).FirstOrDefault(); if (zipModel != null) { model.EngZipaddress = zipModel.Address_Eng; } else { model.EngZipaddress = converter.romanize(model.ConsigneeZipAddress); } } if (string.IsNullOrEmpty(model.EngAddress) || model.EngAddress == ".") { model.EngAddress = converter.romanize(model.ConsigneeAddress); } model.ConsigneePhone = item[16]; model.ConsigneeCellPhone = item[17]; model.OnBoardDate = DateTime.Now; model.Memo = item[24]; model.juminNo = item[8]; string TransPortType = "B"; model.TransportType = transportCodeModel.Where(c => c.GROUPCD == 1002 && c.CD == TransPortType).FirstOrDefault().cdidx; model.WeightType = 5; model.Weight = Convert.ToDecimal(item[19]); model.Carton = Convert.ToInt16(item[18]); model.CreateDate = DateTime.Now; model.CreateId = userInfo.uidx; model.cidx = userInfo.cidx; model.Status = 20; HyundaiContext.AddToHBL(model); HyundaiContext.SaveChanges(); hidx = model.hidx; // var productItem = getXLSProductItem3(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } else if (!string.IsNullOrEmpty(item[29]) && item[29] != "ITEM_NM") { var productItem = getXLSProductItem3(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } } else if (item.Count() == 29) // SHIN { if (!string.IsNullOrEmpty(item[0]) && (item[0] != "SEQ_NO" && item[0] != "순번(NO)")) { hblCnt++; model.HblNo = item[1]; hblNo = item[1]; if (hblNo == null) { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No. : " + hblNo; scope.Dispose(); return(result); } if (HyundaiContext.HBL.Where(h => h.HblNo == hblNo).Count() > 0) { result.ResultCode = -1; result.ResultMessage = "HBL already exists : " + hblNo; scope.Dispose(); return(result); } model.ShipperName = item[3]; model.ShipperAddress = item[5]; model.ShipperZipAddress = item[6]; model.ShipperZipCode = item[4]; model.ShipperPhone = item[7]; model.ConsigneeName = item[9]; model.ConsigneeEngName = item[10]; if (string.IsNullOrEmpty(model.ConsigneeEngName) || model.ConsigneeEngName == ".") { model.ConsigneeEngName = converter.romanize(model.ConsigneeName); } model.ConsigneeZipCode = item[11]; model.ConsigneeZipAddress = item[12]; model.ConsigneeAddress = item[13]; model.EngZipaddress = item[14]; model.EngAddress = item[15]; if (string.IsNullOrEmpty(model.EngZipaddress) || model.EngZipaddress == ".") { model.EngZipaddress = converter.romanize(model.ConsigneeZipAddress); } if (string.IsNullOrEmpty(model.EngAddress) || model.EngAddress == ".") { model.EngAddress = converter.romanize(model.ConsigneeAddress); } model.ConsigneePhone = item[16]; model.ConsigneeCellPhone = item[17]; model.OnBoardDate = DateTime.Now; model.Memo = item[23]; model.juminNo = item[8]; string TransPortType = "B"; model.TransportType = transportCodeModel.Where(c => c.GROUPCD == 1002 && c.CD == TransPortType).FirstOrDefault().cdidx; model.WeightType = 5; model.Weight = Convert.ToDecimal(item[19]); model.Carton = Convert.ToInt16(item[18]); model.CreateDate = DateTime.Now; model.CreateId = userInfo.uidx; model.cidx = userInfo.cidx; model.Status = 20; HyundaiContext.AddToHBL(model); HyundaiContext.SaveChanges(); hidx = model.hidx; // var productItem = getXLSProductItem2(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } else if (!string.IsNullOrEmpty(item[25]) && item[25] != "ITEM_NM") { var productItem = getXLSProductItem2(item, hidx); HyundaiContext.AddToPRODUCTITEM(productItem); } } else if (item.Count() == 123) // EZ { if (!string.IsNullOrEmpty(item[1]) && item[1] != "주문번호") { hblCnt++; model.HblNo = item[2]; hblNo = item[2]; if (hblNo == null) { result.ResultCode = -1; result.ResultMessage = "Invalid HBL No. : " + hblNo; scope.Dispose(); return(result); } if (HyundaiContext.HBL.Where(h => h.HblNo == hblNo).Count() > 0) { result.ResultCode = -1; result.ResultMessage = "HBL already exists : " + hblNo; scope.Dispose(); return(result); } model.ShipperName = item[6]; model.ShipperZipAddress = item[7] ?? ""; model.ShipperZipCode = model.ShipperZipAddress.Length > 5 ? model.ShipperZipAddress.Substring(model.ShipperZipAddress.Length - 5) : ""; model.ShipperZipAddress = model.ShipperZipAddress.Replace(model.ShipperZipCode, ""); model.ConsigneeName = item[10]; model.ConsigneeEngName = converter.romanize(model.ConsigneeName); model.juminNo = item[11]; model.ConsigneePhone = item[12]; model.ConsigneeCellPhone = item[13]; model.ConsigneeZipCode = item[14]; model.ConsigneeZipAddress = item[15]; model.ConsigneeAddress = item[16]; model.EngZipaddress = converter.romanize(model.ConsigneeZipAddress); model.EngAddress = converter.romanize(model.ConsigneeAddress); model.OnBoardDate = DateTime.Now; model.Memo = item[22]; string TransPortType = "B"; model.TransportType = transportCodeModel.Where(c => c.GROUPCD == 1002 && c.CD == TransPortType).FirstOrDefault().cdidx; model.WeightType = 5; model.Weight = Convert.ToDecimal(item[18]); model.Carton = Convert.ToInt16(item[20]); model.CreateDate = DateTime.Now; model.CreateId = userInfo.uidx; model.cidx = userInfo.cidx; model.Status = 20; HyundaiContext.AddToHBL(model); HyundaiContext.SaveChanges(); hidx = model.hidx; // for (int i = 23; i < 123; i += 4) { if (string.IsNullOrEmpty(item[i])) { break; } PRODUCTITEM itemModel = new PRODUCTITEM(); itemModel.itemName = item[i]; itemModel.itemAmt = Convert.ToDecimal(item[i + 1]); itemModel.itemQty = Convert.ToInt16(item[i + 2]); itemModel.ItemTotalAmt = Convert.ToDecimal(item[i + 3]); itemModel.hidx = hidx; HyundaiContext.AddToPRODUCTITEM(itemModel); } } } HyundaiContext.SaveChanges(); } } catch (Exception ex) { File.Delete(filePath); throw new Exception("Error on HBL NO : " + hblNo, ex); } scope.Complete(); result.ResultMessage = hblCnt.ToString(); } } File.Delete(filePath); } catch (Exception ex) { result.ResultCode = -1; result.ResultMessage = ex.Message; throw ex; } return(result); }