//获取指定的OutStock public static DataSet GetOutStock1(int i_OutStockID) { DataSet ds = new DataSet(); OutStock tO = new OutStock(); ds = SQLiteHelper.ExecuteDataSet("SELECT A.OutStockID,A.OutStockDate,A.OutStockNum,A.OutStockType,A.OutBillAmt,A.OutBillRemark,A.OutMan,A.UseMan,B.CompanyID,B.CompanyName,C.ProjectID,C.ProjectName,D.WareHouseID,D.WareHouseName FROM OutStock A,Companies B,Projects C,WareHouses D WHERE A.CompanyID=B.CompanyID AND A.ProjectID=C.ProjectID AND A.WareHouseID=D.WareHouseID AND A.OutStockID=@ID", i_OutStockID); return(ds); }
public void AddOutStock(OutStock stock) { OutGoingPen tempPen = new OutGoingPen(); tempPen.Name = "Fasto"; tempPen.Count = 100; stock.Add(tempPen); tempPen = new OutGoingPen(); tempPen.Name = "Gripper"; tempPen.Count = 100; stock.Add(tempPen); }
public void AddOutStock(OutStock stock) { OutGoingPen tempPen = new OutGoingPen(); tempPen.Name = "Fasto"; tempPen.Count = 100; Console.WriteLine("Parts going out: '{0}', Quantity: '{1}'", tempPen.Name, tempPen.Count); stock.Add(tempPen); tempPen = new OutGoingPen(); tempPen.Name = "Gripper"; tempPen.Count = 100; Console.WriteLine("Parts going out: '{0}', Quantity: '{1}'", tempPen.Name, tempPen.Count); stock.Add(tempPen); }
public void RemoveStockFromInventory(Inventory stock) { OutGoingPen tempPen = new OutGoingPen(); OutStock outStock = new OutStock(); tempPen.Name = "Fasto1"; tempPen.Count = 100; outStock.Add(tempPen); tempPen = new OutGoingPen(); tempPen.Name = "Gripper"; tempPen.Count = 50; outStock.Add(tempPen); StoreInventory.RemoveFromInventory(outStock, MLPen); }
//删除出库单 public static void DelCKD(int i_OutStockID) { ISession session = NHibernateHelper.sessionFactory.OpenSession(); ITransaction tx = session.BeginTransaction(); try { OutStock toDel1 = session.Get <OutStock>(i_OutStockID); //删除OutStockItem中的相关项 List <int> toDelItemsID = BLL.CKBLL.GetItemIDs(toDel1.OutStockID); foreach (int i in toDelItemsID) { OutStockItems toDel2 = session.Get <OutStockItems>(i); session.Delete(toDel2); //更新库存 PKModel pk = new PKModel(); pk.GoodsID = toDel2.GoodsID; pk.WareHouseID = toDel1.WareHouseID; WareHouseStock tWH = session.Get <WareHouseStock>(pk); if (tWH != null) { tWH.Number += toDel2.GoodsQty; tWH.Amount += toDel2.GoodsAmt; if (tWH.Number != 0) { tWH.Price = Math.Round(tWH.Amount / tWH.Number, 2); } else { tWH.Price = 0; } } } session.Delete(toDel1); //事务提交 tx.Commit(); session.Close(); } catch (Exception e) { Debug.Assert(false, e.Message); tx.Rollback(); session.Close(); } }
public bool insertNewEntity(OutStock s) { int rowsAffected = 0; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@OutID", SqlDbType.NVarChar), new SqlParameter("@OutType", SqlDbType.Int), new SqlParameter("@StoreHouseID", SqlDbType.Int), new SqlParameter("@HouseDetailID", SqlDbType.Int), new SqlParameter("@UserName", SqlDbType.NVarChar), new SqlParameter("@TradeDate", SqlDbType.NVarChar), new SqlParameter("@TotalPrice", SqlDbType.Float), new SqlParameter("@AlreadyPay", SqlDbType.Float), new SqlParameter("@Description", SqlDbType.NVarChar), new SqlParameter("@State", SqlDbType.Int), new SqlParameter("@CreateDate", SqlDbType.NVarChar) }; parameters[0].Value = s.OutID; parameters[1].Value = s.OutType; parameters[2].Value = s.StoreHouseID; parameters[3].Value = s.HouseDetailID; parameters[4].Value = s.UserName; parameters[5].Value = s.TradeDate; parameters[6].Value = s.TotalPrice; parameters[7].Value = s.AlreadyPay; parameters[8].Value = s.Description; parameters[9].Value = s.State; parameters[10].Value = s.CreateDate; SQLHelper.RunProcedure("p_OutStock_insertNewEntity", parameters, out rowsAffected); return(1 == rowsAffected); }
//获取指定的OutStock public static OutStock GetOutStock(int i_OutStockID) { DataSet ds = new DataSet(); OutStock tO = new OutStock(); ds = SQLiteHelper.ExecuteDataSet("SELECT A.OutStockID,A.OutStockDate,A.OutStockNum,A.OutStockType,A.OutBillAmt,A.OutBillRemark,A.OutMan,A.UseMan,B.CompanyID,B.CompanyName,C.ProjectID,C.ProjectName,D.WareHouseID,D.WareHouseName FROM OutStock A,Companies B,Projects C,WareHouses D WHERE A.CompanyID=B.CompanyID AND A.ProjectID=C.ProjectID AND A.WareHouseID=D.WareHouseID AND A.OutStockID=@ID", i_OutStockID); foreach (DataRow mDr in ds.Tables[0].Rows) { tO.CompanyID = Convert.ToInt32(mDr["CompanyID"].ToString()); tO.ProjectID = Convert.ToInt32(mDr["ProjectID"].ToString()); tO.OutBillAmt = Convert.ToDecimal(mDr["OutBillAmt"].ToString()); tO.OutStockDate = Convert.ToDateTime(mDr["OutStockDate"].ToString()); tO.OutStockID = Convert.ToInt32(mDr["OutStockID"].ToString()); tO.OutStockNum = mDr["OutStockNum"].ToString(); tO.OutStockType = Convert.ToInt32(mDr["OutStockType"].ToString()); tO.OutBillRemark = mDr["OutBillRemark"].ToString(); tO.WareHouseID = Convert.ToInt32(mDr["WareHouseID"].ToString()); tO.UseMan = mDr["UseMan"].ToString(); tO.OutMan = mDr["OutMan"].ToString(); } return(tO); }
protected void init() { string action = Request.QueryString["action"].ToString(); if (action.Equals("add")) { string str0 = Request.QueryString["OutID"].ToString(); string str1 = Request.QueryString["CreateDate"].ToString(); string str2 = Request.QueryString["StoreHouseID"].ToString(); string str3 = Request.QueryString["HouseDetailID"].ToString(); string str4 = Request.QueryString["OutType"].ToString(); string str5 = Request.QueryString["AlreadyPay"].ToString(); string str6 = Request.QueryString["TradeDate"].ToString(); string str7 = Request.QueryString["Description"].ToString(); OutStock a = new OutStock(); a.AlreadyPay = float.Parse(str5); a.OutID = str0; a.OutType = int.Parse(str4); a.CreateDate = str1; a.Description = str7; a.HouseDetailID = int.Parse(str3); a.StoreHouseID = int.Parse(str2); a.TradeDate = str6; a.UserName = getUserName(); Leyp.SQLServerDAL.Stock.Factory.getOutStockDAL().insertNewEntity(a); Response.Write("0"); Response.End(); } else if (action.Equals("delete")) { string str0 = Request.QueryString["OutID"].ToString(); Leyp.SQLServerDAL.Stock.Factory.getOutStockDAL().deleteEitity(str0); Response.Write("成功删除单据" + str0); Response.End(); } }
//设定出库委脱的函数指针 public void SetOutStockHandler(OutStock target) { testOutStock = target; }
void FormOutBillLoad(object sender, EventArgs e) { //填充工程项目 ds2 = BLL.ProjectsBLL.GetAllProjects(); comboBoxProjectID.DataSource = ds2.Tables[0]; comboBoxProjectID.DisplayMember = "ProjectName"; comboBoxProjectID.ValueMember = "ProjectID"; //填充仓库 ds3 = BLL.WareHouseBLL.GetAllWareHouse(); comboBoxWareHouseID.DataSource = ds3.Tables[0]; comboBoxWareHouseID.DisplayMember = "WareHouseName"; comboBoxWareHouseID.ValueMember = "WareHouseID"; //填充项目供货商 if (comboBoxProjectID.SelectedValue != null) { ds1 = BLL.CompanyBLL.GetProjectCompanies2(Convert.ToInt32(comboBoxProjectID.SelectedValue)); comboBoxCompanyID.DataSource = ds1.Tables[0]; comboBoxCompanyID.DisplayMember = "CompanyName"; comboBoxCompanyID.ValueMember = "CompanyID"; } //填充DataGridView1 if (this.Text == "出库单-新增") { FillDateGridView1(0); } else { FillDateGridView1(i_OutStockID); //取得数据填充 OutStock tR = BLL.CKBLL.GetOutStock(i_OutStockID); comboBoxCompanyID.SelectedValue = tR.CompanyID; comboBoxProjectID.SelectedValue = tR.ProjectID; comboBoxWareHouseID.SelectedValue = tR.WareHouseID; int i_OutStockType = tR.OutStockType; switch (i_OutStockType) { case 0: comboBoxOutStockType.Text = "领料出库"; break; case 1: comboBoxOutStockType.Text = "领料退货"; break; case 2: comboBoxOutStockType.Text = "物资借出"; break; case 3: comboBoxOutStockType.Text = "物资归还"; break; case 4: comboBoxOutStockType.Text = "报损出库"; break; case 5: comboBoxOutStockType.Text = "报损退货"; break; default: break; } waterTextBoxRemark.Text = tR.OutBillRemark; textBoxID.Text = tR.OutStockID.ToString(); textBoxNumber.Text = tR.OutStockNum; dateTimePickerRKDate.Value = tR.OutStockDate; dTotal = tR.OutBillAmt; textBoxOutAmt.Text = tR.OutBillAmt.ToString(); textBoxUseMan.Text = tR.UseMan; textBoxOutMan.Text = tR.OutMan; //入库日期也不准修改 dateTimePickerRKDate.Enabled = false; } comboBoxWareHouseID.Tag = "1"; iWareHouseID = Convert.ToInt32(comboBoxWareHouseID.SelectedValue); }
void ModifyOutStock() { //修改数据,用事务处理 OutStock tR = new OutStock(); tR.OutStockID = Convert.ToInt32(textBoxID.Text); tR.OutStockNum = textBoxNumber.Text; tR.OutStockDate = dateTimePickerRKDate.Value; tR.ProjectID = Convert.ToInt32(comboBoxProjectID.SelectedValue.ToString()); tR.CompanyID = Convert.ToInt32(comboBoxCompanyID.SelectedValue.ToString()); tR.WareHouseID = Convert.ToInt32(comboBoxWareHouseID.SelectedValue.ToString()); int i_OutStockType = 0; string tS1 = comboBoxOutStockType.Text; switch (tS1) { case "领料出库": i_OutStockType = 0; break; case "领料退货": i_OutStockType = 1; break; case "物资借出": i_OutStockType = 2; break; case "物资归还": i_OutStockType = 3; break; case "报损出库": i_OutStockType = 4; break; case "报损归还": i_OutStockType = 5; break; default: break; } tR.OutStockType = i_OutStockType; tR.OutBillAmt = dTotal; tR.OutBillRemark = waterTextBoxRemark.Text; List <OutStockItems> tItems = new List <OutStockItems>(); int row = dataGridView1.Rows.Count; //得到总行数 for (int i = 0; i < row - 1; i++) { //最后一行是新行,不算 OutStockItems tItem; tItem = new OutStockItems(); tItem.GoodsID = Convert.ToInt32(dataGridView1.Rows[i].Cells["GoodsID"].Value); tItem.GoodsQty = Convert.ToDecimal(dataGridView1.Rows[i].Cells["GoodsQty"].Value); tItem.GoodsPrc = Convert.ToDecimal(dataGridView1.Rows[i].Cells["GoodsPrc"].Value); tItem.GoodsAmt = Convert.ToDecimal(dataGridView1.Rows[i].Cells["GoodsAmt"].Value); tItem.GoodsName = dataGridView1.Rows[i].Cells["GoodsName"].Value.ToString(); tItem.GoodsSpec = dataGridView1.Rows[i].Cells["GoodsSpec"].Value.ToString(); tItem.GoodsUnit = dataGridView1.Rows[i].Cells["GoodsUnit"].Value.ToString(); tItem.UsePosition = dataGridView1.Rows[i].Cells["UsePosition"].Value.ToString(); tItems.Add(tItem); } BLL.CKBLL.ModifyCKD(tR, tItems); this.Close(); }
void AddNewOutStock() { //保存数据,注意使用事务进行处理 //1、入库单号的生成与修改;2、入库单的增加;3入库单项目的增加 OutStock tR = new OutStock(); tR.OutStockDate = dateTimePickerRKDate.Value; tR.ProjectID = Convert.ToInt32(comboBoxProjectID.SelectedValue.ToString()); tR.CompanyID = Convert.ToInt32(comboBoxCompanyID.SelectedValue.ToString()); tR.WareHouseID = Convert.ToInt32(comboBoxWareHouseID.SelectedValue.ToString()); int i_OutStockType = 0; string tS1 = comboBoxOutStockType.Text; switch (tS1) { case "领料出库": i_OutStockType = 0; break; case "领料退货": i_OutStockType = 1; break; case "物资借出": i_OutStockType = 2; break; case "物资归还": i_OutStockType = 3; break; case "报损出库": i_OutStockType = 4; break; case "报损归还": i_OutStockType = 5; break; default: break; } tR.OutStockType = i_OutStockType; tR.OutBillAmt = dTotal; tR.OutBillRemark = waterTextBoxRemark.Text; tR.UseMan = textBoxUseMan.Text; tR.OutMan = textBoxOutMan.Text; tR.RecordStatus = "已记账"; List <OutStockItems> tItems = new List <OutStockItems>(); int row = dataGridView1.Rows.Count; //得到总行数 for (int i = 0; i < row - 1; i++) { //最后一行是新行,不算 if (dataGridView1.Rows[i].Cells["GoodsID"].Value == DBNull.Value) { continue; } OutStockItems tItem; tItem = new OutStockItems(); tItem.GoodsID = Convert.ToInt32(dataGridView1.Rows[i].Cells["GoodsID"].Value); tItem.GoodsQty = Convert.ToDecimal(dataGridView1.Rows[i].Cells["GoodsQty"].Value); tItem.GoodsPrc = Convert.ToDecimal(dataGridView1.Rows[i].Cells["GoodsPrc"].Value); tItem.GoodsAmt = Convert.ToDecimal(dataGridView1.Rows[i].Cells["GoodsAmt"].Value); tItem.GoodsName = dataGridView1.Rows[i].Cells["GoodsName"].Value.ToString(); tItem.GoodsSpec = dataGridView1.Rows[i].Cells["GoodsSpec"].Value.ToString(); tItem.GoodsUnit = dataGridView1.Rows[i].Cells["GoodsUnit"].Value.ToString(); tItem.UsePosition = dataGridView1.Rows[i].Cells["UsePosition"].Value.ToString(); if (dataGridView1.Rows[i].Cells["UsePosition"].Value != null) { tItem.UsePosition = dataGridView1.Rows[i].Cells["UsePosition"].Value.ToString(); } tItems.Add(tItem); } BLL.CKBLL.AddCKD(tR, tItems); this.Close(); }
//修改出库单 public static void ModifyCKD(OutStock tOutStock, List <OutStockItems> tItemsList) { //修改出库单 ISession session = NHibernateHelper.sessionFactory.OpenSession(); ITransaction tx = session.BeginTransaction(); try { //得到未变更的出库单 OutStock tOldOutStock = new OutStock(); tOldOutStock = BLL.CKBLL.GetOutStock(tOutStock.OutStockID); //删除OutStockItem中的相关项 List <int> toDelItemsID = BLL.CKBLL.GetItemIDs(tOldOutStock.OutStockID); foreach (int i in toDelItemsID) { OutStockItems toDel1 = session.Get <OutStockItems>(i); session.Delete(toDel1); //更新库存 PKModel pk = new PKModel(); pk.GoodsID = toDel1.GoodsID; pk.WareHouseID = tOldOutStock.WareHouseID; WareHouseStock tWH = session.Get <WareHouseStock>(pk); if (tWH == null) { WareHouseStock tWHNew = new WareHouseStock(); tWHNew.Pk = pk; tWHNew.Number = -toDel1.GoodsQty; tWHNew.Price = toDel1.GoodsPrc; tWHNew.Amount = -toDel1.GoodsAmt; session.Save(tWHNew); } else { tWH.Number += toDel1.GoodsQty; tWH.Amount += toDel1.GoodsAmt; if (tWH.Number != 0) { tWH.Price = Math.Round(tWH.Amount / tWH.Number, 2); } session.Flush(); } } //保存OutStock的修改 OutStock toModify = session.Get <OutStock>(tOldOutStock.OutStockID); toModify.CompanyID = tOutStock.CompanyID; toModify.ProjectID = tOutStock.ProjectID; toModify.OutBillAmt = tOutStock.OutBillAmt; toModify.OutBillRemark = tOutStock.OutBillRemark; toModify.WareHouseID = tOutStock.WareHouseID; toModify.OutStockType = tOutStock.OutStockType; //将新的OutStockItem加入 foreach (OutStockItems tOI in tItemsList) { tOI.OutStockID = tOutStock.OutStockID; session.Save(tOI); //更新库存 PKModel pk = new PKModel(); pk.GoodsID = tOI.GoodsID; pk.WareHouseID = tOutStock.WareHouseID; WareHouseStock tWH = session.Get <WareHouseStock>(pk); if (tWH == null) { WareHouseStock tWHNew = new WareHouseStock(); tWHNew.Pk = pk; tWHNew.Number = -tOI.GoodsQty; tWHNew.Price = tOI.GoodsPrc; tWHNew.Amount = -tOI.GoodsAmt; session.Save(tWHNew); } else { tWH.Number -= tOI.GoodsQty; tWH.Amount -= tOI.GoodsAmt; if (tWH.Number != 0) { tWH.Price = Math.Round(tWH.Amount / tWH.Number, 2); } session.Flush(); } } //事务提交 tx.Commit(); session.Close(); } catch (Exception e) { Debug.Assert(false, e.Message); tx.Rollback(); session.Close(); } }
//增加出库单 public static void AddCKD(OutStock tOutStock, List <OutStockItems> tItemsList) { //保存数据,注意使用事务进行处理 //1、出库单号的生成与修改;2、出库单的增加;3、出库单项目的增加 ISession session = NHibernateHelper.sessionFactory.OpenSession(); ITransaction tx = session.BeginTransaction(); try { //查最后的出库单号 IList <ProgOptions> Key1 = BLL.ProgOptionsBLL.GetOptions("CKD_LastNumber"); string s_CKD_LastNo = Key1[0].OptionsValue; string s_CKD_NewNo; string s_CKD_LastYM; string s_CKD_NewYM; int LastNo; int NewNo; string s_NewNo; s_CKD_NewYM = DateTime.Today.ToString("yyyyMM"); if (s_CKD_LastNo.Length == 10) { //4位年+2位月+4位顺序号 s_CKD_LastYM = s_CKD_LastNo.Substring(0, 6); LastNo = Convert.ToInt32(s_CKD_LastNo.Substring(6, 4)); if (s_CKD_NewYM != s_CKD_LastYM) { NewNo = 1; } else { NewNo = LastNo + 1; } } else { //没有数据 NewNo = 1; } s_NewNo = "0000" + NewNo.ToString(); s_NewNo = s_NewNo.Substring(s_NewNo.Length - 4, 4); //将新的最后编号保存到数据库 ProgOptions t1 = session.Get <ProgOptions>(Key1[0].OptionsID); t1.OptionsID = Key1[0].OptionsID; t1.OptionsKey = Key1[0].OptionsKey; s_CKD_NewNo = s_CKD_NewYM + s_NewNo; t1.OptionsValue = s_CKD_NewNo; t1.OptionsRemark = Key1[0].OptionsRemark; //保存出库单 tOutStock.OutStockNum = "CKD-" + t1.OptionsValue; session.Save(tOutStock); //保存出库单项 foreach (OutStockItems tOI in tItemsList) { tOI.OutStockID = tOutStock.OutStockID; session.Save(tOI); //更新库存 PKModel pk = new PKModel(); pk.GoodsID = tOI.GoodsID; pk.WareHouseID = tOutStock.WareHouseID; WareHouseStock tWH = session.Get <WareHouseStock>(pk); if (tWH == null) { WareHouseStock tWHNew = new WareHouseStock(); tWHNew.Pk = pk; tWHNew.Number = -tOI.GoodsQty; tWHNew.Price = tOI.GoodsPrc; tWHNew.Amount = -tOI.GoodsAmt; session.Save(tWHNew); } else { tWH.Number -= tOI.GoodsQty; tWH.Amount -= tOI.GoodsAmt; if (tWH.Number != 0) { tWH.Price = Math.Round(tWH.Amount / tWH.Number, 2); } session.Flush(); } } //事务提交 tx.Commit(); session.Close(); } catch (Exception e) { Debug.Assert(false, e.Message); tx.Rollback(); session.Close(); } }
public void CreateOutStock(IList <RequestViewModel> models, string temp_outStockNumber) { if (models == null || models.Count <= 0) { return; } RequestHeader requestHeader = _requestHeaderRepository.GetRequestHeader(models.FirstOrDefault()?.RequestNumber); OutStockHeader newOutStockHeader = _mapper.Map <OutStockHeader>(requestHeader); var allPurchases = _purchaseService.GetAllPurchaseNumberByItemCode(); int lastSerialNumber = _outStockHeaderRepository.GetLatestSerialNumber(DateTime.Now); newOutStockHeader.SerialNo = ++lastSerialNumber; newOutStockHeader.OutStockHeaderNumber = string.IsNullOrEmpty(temp_outStockNumber) ? ServiceHelper.GenerateCodeNumber("CK", newOutStockHeader.SerialNo) : temp_outStockNumber; newOutStockHeader.RequestNumber = requestHeader.RequestHeaderNumber; try { _outStockHeaderRepository.Add(newOutStockHeader); _outStockHeaderRepository.Save(); foreach (RequestViewModel model in models) { OutStock newOutStock = _mapper.Map <OutStock>(model); newOutStock.Type = model.RequestCategory; newOutStock.OutStockNumber = newOutStockHeader.OutStockHeaderNumber; var selectedPurchase = allPurchases.Where(x => x.RequestId == model.RequestId).FirstOrDefault(); if (selectedPurchase != null) { newOutStock.Price = selectedPurchase.Price; } switch (model.RequestCategory) { //报废出库 case RequestCategoriesEnum.工程车维修 when model.ToDestroy: newOutStock.Status = ProcessStatusEnum.报废出库; break; //非报废出库 case RequestCategoriesEnum.工程车维修: switch (model.Status) { case ProcessStatusEnum.工程车维修入库: newOutStock.Status = ProcessStatusEnum.维修中; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.维修中); break; case ProcessStatusEnum.维修完成: newOutStock.Status = ProcessStatusEnum.工程车维修出库; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.工程车维修出库); break; } break; case RequestCategoriesEnum.工具维修 when model.ToDestroy: //报废出库 newOutStock.Status = ProcessStatusEnum.报废出库; break; case RequestCategoriesEnum.工具维修: newOutStock.Status = ProcessStatusEnum.维修中; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.维修中); break; case RequestCategoriesEnum.工具借出: newOutStock.Status = ProcessStatusEnum.借出出库; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.借出出库); break; case RequestCategoriesEnum.工程车补给: case RequestCategoriesEnum.员工补给: newOutStock.Status = ProcessStatusEnum.补给出库; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.补给出库); break; case RequestCategoriesEnum.采购退货: newOutStock.Status = ProcessStatusEnum.退货出库; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.退货出库); break; default: newOutStock.Status = ProcessStatusEnum.已出库; _requestService.UpdateRequestProcessStatus(model.RequestId, ProcessStatusEnum.已出库); break; } _outStockRepository.Add(newOutStock); _outStockRepository.Save(); _managementService.UpdateStorage(model.Code, model.PositionName, -newOutStock.Total, newOutStock.OutStockNumber); } } catch (DbUpdateException) { } }