public ExcelMassUploadImportResponse UploadDataClosing(IUnitOfWork uow, ExcelMassUploadImportRequest request) { Check.NotNullOrWhiteSpace(request.FileName, "filename"); UploadHelper.CheckFileNameSecurity(request.FileName); if (!request.FileName.StartsWith("temporary/")) { throw new ArgumentOutOfRangeException("filename"); } ExcelPackage ep = new ExcelPackage(); using (var fs = new FileStream(UploadHelper.DbFilePath(request.FileName), FileMode.Open, FileAccess.Read)) ep.Load(fs); var response = new ExcelMassUploadImportResponse(); response.ErrorList = new List <string>(); // Get batch of row number/index var numberList = request.TotalRecord; var p = MyRow.Fields; int receivedCount = 0; ///////////////////////////////////////////////////////////// //ITEM INFO UPLOAD ///////////////////////////////////////////////////////////// var wsItemInfo = ep.Workbook.Worksheets[1]; for (var currRow = 4; currRow <= (numberList + 4); currRow++) { try { var odr = new OrderRow(); try { CustomerRow custNew = new CustomerRow(); custNew.CustomerName = wsItemInfo.Cells[currRow, 2].Value.ToString(); custNew.Address = "Bekasi"; SaveResponse savedCust = new CustomerRepository().Create(uow, new SaveRequest <CustomerRow>() { Entity = custNew }); odr.CustomerId = int.Parse(savedCust.EntityId.ToString()); odr.Ongkir = 9000; odr.OrderStatus = "NewOrder"; odr.DetailList = new List <OrderDetailRow>(); odr.DetailList.Add(new OrderDetailRow() { ProductId = 1, Quantity = 1, Price = 125000 }); SaveResponse savedOdr = new OrderRepository().Create(uow, new SaveRequest <OrderRow>() { Entity = odr }); } catch (Exception ex) { throw new Exception(ex.Message); } } catch (Exception x) { string msg = "Row:" + currRow.ToString() + " - " + x.Message; response.ErrorList.Add(x.Message); } } response.Inserted = receivedCount; return(response); }
public ExcelMassUploadImportResponse ExcelImport(IUnitOfWork uow, ExcelMassUploadImportRequest request) { Check.NotNullOrWhiteSpace(request.FileName, "filename"); UploadHelper.CheckFileNameSecurity(request.FileName); if (!request.FileName.StartsWith("temporary/")) { throw new ArgumentOutOfRangeException("filename"); } ExcelPackage ep = new ExcelPackage(); using (var fs = new FileStream(UploadHelper.DbFilePath(request.FileName), FileMode.Open, FileAccess.Read)) ep.Load(fs); var response = new ExcelMassUploadImportResponse(); response.ErrorList = new List <string>(); // Get batch of row number/index var numberList = request.TotalRecord; var p = MyRow.Fields; ///////////////////////////////////////////////////////////// //ITEM INFO UPLOAD ///////////////////////////////////////////////////////////// var wsItemInfo = ep.Workbook.Worksheets[1]; for (var currRow = 2; currRow <= (numberList + 2); currRow++) { try { var order = new MyRow(); try { order.CustomerCustomerName = wsItemInfo.Cells[currRow, 1].Value.ToString(); order.CustomerHandphone = wsItemInfo.Cells[currRow, 2].Value.ToString(); order.CustomerAddress = wsItemInfo.Cells[currRow, 3].Value.ToString(); order.OrderStatus = "New Order"; new OrderRepository().Create(uow, new SaveRequest <MyRow>() { Entity = order }); response.Inserted = response.Inserted + 1; } catch (Exception ex) { throw new Exception(ex.Message); } } catch (Exception x) { string msg = "Row:" + currRow.ToString() + " - " + x.Message; response.ErrorList.Add(x.Message); } } return(response); }
public ExcelMassUploadImportResponse SynchResi(IUnitOfWork uow, ExcelMassUploadImportRequest request) { Check.NotNullOrWhiteSpace(request.FileName, "filename"); UploadHelper.CheckFileNameSecurity(request.FileName); if (!request.FileName.StartsWith("temporary/")) { throw new ArgumentOutOfRangeException("filename"); } ExcelPackage ep = new ExcelPackage(); using (var fs = new FileStream(UploadHelper.DbFilePath(request.FileName), FileMode.Open, FileAccess.Read)) ep.Load(fs); var response = new ExcelMassUploadImportResponse(); response.ErrorList = new List <string>(); // Get batch of row number/index var numberList = request.TotalRecord; var p = MyRow.Fields; int receivedCount = 0; ///////////////////////////////////////////////////////////// //ITEM INFO UPLOAD ///////////////////////////////////////////////////////////// var wsItemInfo = ep.Workbook.Worksheets[1]; if (request.Expedisi == "JNE") { for (var currRow = 4; currRow <= (numberList + 4); currRow++) { try { var noResi = new NoResiRow(); try { var dateCode = DateTime.Parse(wsItemInfo.Cells[currRow, 4].Value.ToString()).Year.ToString() + DateTime.Parse(wsItemInfo.Cells[currRow, 4].Value.ToString()).Month.ToString() + DateTime.Parse(wsItemInfo.Cells[currRow, 4].Value.ToString()).Day.ToString(); noResi.CustomerName = wsItemInfo.Cells[currRow, 11].Value.ToString(); noResi.Handphone = ""; noResi.Expedisi = "JNE"; noResi.ExpedisiService = wsItemInfo.Cells[currRow, 5].Value.ToString(); noResi.Destination = wsItemInfo.Cells[currRow, 8].Value.ToString(); noResi.Ongkir = decimal.Parse(wsItemInfo.Cells[currRow, 12].Value.ToString()); noResi.NoResi = "0" + wsItemInfo.Cells[currRow, 3].Value.ToString(); noResi.SendDate = dateCode + "_" + noResi.CustomerName.Trim(); noResi.JNEDate = DateTime.Parse(wsItemInfo.Cells[currRow, 4].Value.ToString()); } catch (Exception ex) { throw new Exception(ex.Message); } ListRequest req = new ListRequest(); req.EqualityFilter = new Dictionary <string, object> { { "CustomerName", noResi.CustomerName }, { "OrderStatus", "Printed" } }; var cust = new ViewOrderRepository().List(uow.Connection, req); if (cust.Entities.Count > 0) { RetrieveRequest retReq = new RetrieveRequest(); retReq.EntityId = cust.Entities[0].OrderId; var order = new OrderRepository().Retrieve(uow.Connection, retReq); order.Entity.NoResi = noResi.NoResi; order.Entity.OrderStatus = "Delivery"; order.Entity.Ongkir = noResi.Ongkir; new OrderRepository().Update(uow, new SaveRequest <OrderRow>() { EntityId = order.Entity.OrderId, Entity = order.Entity }); new NoResiRepository().Create(uow, new SaveRequest <NoResiRow>() { Entity = noResi }); receivedCount++; } } catch (Exception x) { string msg = "Row:" + currRow.ToString() + " - " + x.Message; response.ErrorList.Add(x.Message); } } } else { for (var currRow = 2; currRow <= (numberList); currRow++) { try { var noResi = new NoResiRow(); try { //var dateCode = DateTime.Parse(wsItemInfo.Cells[currRow, 8].Value.ToString()).Year.ToString() + // //DateTime.Parse(wsItemInfo.Cells[currRow, 8].Value.ToString()).Month.ToString() + // //DateTime.Parse(wsItemInfo.Cells[currRow, 8].Value.ToString()).Day.ToString(); noResi.CustomerName = wsItemInfo.Cells[currRow, 6].Value.ToString(); noResi.Handphone = wsItemInfo.Cells[currRow, 7].Value.ToString(); noResi.Expedisi = request.Expedisi; noResi.ExpedisiService = "Standart"; //noResi.Destination = wsItemInfo.Cells[currRow, 8].Value.ToString(); //noResi.Ongkir = decimal.Parse(wsItemInfo.Cells[currRow, 12].Value.ToString()); noResi.NoResi = wsItemInfo.Cells[currRow, 1].Value.ToString(); noResi.SendDate = wsItemInfo.Cells[currRow, 8].Value.ToString(); noResi.NINJADate = wsItemInfo.Cells[currRow, 2].Value.ToString(); noResi.StatusPengiriman = wsItemInfo.Cells[currRow, 3].Value.ToString(); } catch (Exception ex) { throw new Exception(ex.Message); } ListRequest req = new ListRequest(); req.EqualityFilter = new Dictionary <string, object> { { "Handphone", noResi.Handphone.Replace("+", "") }, { "OrderStatus", "Printed" } }; var cust = new ViewOrderRepository().List(uow.Connection, req); ListRequest req1 = new ListRequest(); req1.EqualityFilter = new Dictionary <string, object> { { "Handphone", noResi.Handphone.Replace("+", "") }, { "OrderStatus", "NewOrder" } }; var cust1 = new ViewOrderRepository().List(uow.Connection, req1); if (cust.Entities.Count > 0) { RetrieveRequest retReq = new RetrieveRequest(); retReq.EntityId = cust.Entities[0].OrderId; var order = new OrderRepository().Retrieve(uow.Connection, retReq); order.Entity.NoResi = noResi.NoResi; if (noResi.StatusPengiriman == "Lengkap") { order.Entity.OrderStatus = "Received"; } //order.Entity.Ongkir = noResi.Ongkir; new OrderRepository().Update(uow, new SaveRequest <OrderRow>() { EntityId = order.Entity.OrderId, Entity = order.Entity }); new NoResiRepository().Create(uow, new SaveRequest <NoResiRow>() { Entity = noResi }); receivedCount++; } if (cust1.Entities.Count > 0) { RetrieveRequest retReq = new RetrieveRequest(); retReq.EntityId = cust1.Entities[0].OrderId; var order = new OrderRepository().Retrieve(uow.Connection, retReq); order.Entity.NoResi = noResi.NoResi; if (noResi.StatusPengiriman == "Lengkap") { order.Entity.OrderStatus = "Received"; } //order.Entity.Ongkir = noResi.Ongkir; new OrderRepository().Update(uow, new SaveRequest <OrderRow>() { EntityId = order.Entity.OrderId, Entity = order.Entity }); new NoResiRepository().Create(uow, new SaveRequest <NoResiRow>() { Entity = noResi }); receivedCount++; } } catch (Exception x) { string msg = "Row:" + currRow.ToString() + " - " + x.Message; response.ErrorList.Add(x.Message); } } } response.Inserted = receivedCount; return(response); }