public ActionResult DeleteConfirmed(InquiryComplex model) { ResultModel result = new ResultModel(); try { #region Service資料庫 if (this._InquiryComplexService.IsUsed(model)) { result.Message = "MessageChaneDelete2UpdateComplete".ToLocalized(); model.Inquiry.Activate = YesNo.No.Value; this._InquiryComplexService.Update(model); } else { this._InquiryComplexService.Delete(model); } #endregion } catch (Exception ex) { #region 錯誤時錯誤訊息 result.Status = false; result.Message = ex.Message.ToString(); #endregion } return(Json(result)); }
public void Delete(InquiryComplex model) { #region 邏輯驗證 if (model == null)//沒有資料 { throw new Exception("MessageNoData".ToLocalized()); } #endregion #region 變為Models需要之型別及邏輯資料 var info = Mapper.Map <Inquiry>(model.Inquiry); #endregion #region Models資料庫 foreach (InquiryDetailViewModel t in model.ChildList) { var d = Mapper.Map <InquiryDetail>(t); _DetailRepository.Delete(d); } this._Repository.Delete(info); this._UnitOfWork.SaveChange(); #endregion }
public InquiryComplex Create(InquiryComplex source) { #region 取資料 #endregion #region 邏輯驗證 #endregion #region 變為Models需要之型別及邏輯資料 Inquiry main = GetInquiryOnCreate(source); List <InquiryDetail> children = GetChildOnCreate(main, source); #endregion #region Models資料庫 this._Repository.Create(main); foreach (InquiryDetail item in children) { this._DetailRepository.Create(item); } GenerateNews(main); // 產生到貨消息 this._UnitOfWork.SaveChange(); #endregion return(this.Get(main.InquiryID)); }
private Inquiry GetInquiryOnUpdate(InquiryComplex source) { Inquiry info = Mapper.Map <Inquiry>(source.Inquiry); info.LastPerson = IdentityService.GetUserData().UserID; info.LastUpdate = DateTime.Now; return(info); }
public bool IsUsed(InquiryComplex info) { //var query = this._Repository.Get(x => x.InquiryID == model.Inquiry.InquiryID); //var result = query.Product.Any(); //this._Repository.HandleDetached(query); // //return result; return(true); // 目前不知關聯到哪些資料表 }
public InquiryComplex Get(string id) { InquiryComplex info = new InquiryComplex(); info = this.GetAll().Where(x => x.Inquiry.InquiryID == id).Single(); return(info); }
public ActionResult Create() { var info = new InquiryComplex() { #if DEBUG Inquiry = new InquiryViewModel() { //InquiryID = "0".PadLeft(10, '0'), InquiryDate = DateTime.Today, //ContactPerson = "聯絡人", //ContactPhone = "聯絡電話", CurrencyID = "1", ExchangeRate = 1, Remarks = "Remarks", ValidateDate = DateTime.Today.AddDays(30), ScheduleDate = DateTime.Today.AddDays(180), Remind = 1 }, ChildList = new List <InquiryDetailViewModel>() //ChildList = new List<InquiryDetailViewModel>() { // new InquiryDetailViewModel() { // SeqNo = 0 , // //InquiryID = "0000000000", // ProductID = "88888888888888888888", // ProductName = "產品1", // PriceKindID = "1", // ConditionID = "1", // Discount = 100, // ForeignPrice = 30000, // Price = 40000, // Qty = 1, // Amount = 40000, // Remarks ="Remarks", // IsDirty = true // }, // new InquiryDetailViewModel() { // SeqNo = 0 , // //InquiryID = "0000000000", // ProductID = "99999999999999999999", // ProductName = "產品2", // PriceKindID = "2", // ConditionID = "2", // Discount = 100, // ForeignPrice = 60000, // Price = 80000, // Qty = 2, // Amount = 160000, // Remarks ="Remarks", // IsDirty = true // }, //} #endif }; InitViewBag(info); InitChildViewBag(null); return(View(info)); }
private Inquiry GetInquiryOnCreate(InquiryComplex source) { Inquiry info = Mapper.Map <Inquiry>(source.Inquiry); // 取得詢價單號;目前由使用者自型輸入 info.InquiryID = GenerateInquiryID(info); info.Activate = YesNo.Yes.Value; info.LastPerson = IdentityService.GetUserData().UserID; info.LastUpdate = DateTime.Now; return(info); }
private List <InquiryDetail> GetChildOnCreate(Inquiry master, InquiryComplex source) { List <InquiryDetail> infos = new List <InquiryDetail>(); var wanted = source.ChildList.Where(x => x.IsDirty == true); foreach (var item in wanted) { InquiryDetail temp = Mapper.Map <InquiryDetail>(item); temp.InquiryID = master.InquiryID; temp.LastPerson = IdentityService.GetUserData().UserID; temp.LastUpdate = DateTime.Now; infos.Add(temp); } return(infos); }
private void InitViewBag(InquiryComplex info) { ViewBag.Token = _SingletonTokenService.GetToken(); // 幣別 ViewBag.CurrencyKindList = new SelectList(this._GlobalService.GetCurrencyKindList(), "Key", "Value", info?.Inquiry.CurrencyID); // 公司 ViewBag.CompanyList = new SelectList(this._GlobalService.GetSupplierList(), "Value", "Display", info?.Inquiry?.CompanyID); ViewBag.YseNoList = new SelectList(YesNo.GetAll(), "value", "Text", info?.Inquiry.Activate); }
public void Update(InquiryComplex source) { #region 取資料 #endregion #region 邏輯驗證 #endregion #region 變為Models需要之型別及邏輯資料 Inquiry main = GetInquiryOnUpdate(source); List <InquiryDetail> children = GetChildOnCreate(main, source); #endregion #region Models資料庫 this._Repository.Update(main); foreach (InquiryDetail item in children) { if (item.SeqNo == 0) { this._DetailRepository.Create(item); } else { this._DetailRepository.Update(item); } } GenerateNews(main); // 產生到貨消息 this._UnitOfWork.SaveChange(); #endregion }
public ActionResult Edit(InquiryComplex info) { ResultModel result = new ResultModel(); try { #region 驗證Model if (!ModelState.IsValid) { throw new Exception(ModelStateErrorClass.FormatToString(ModelState)); } #endregion #region 前端資料變後端用資料ViewModel時用 #endregion #region Service資料庫 this._InquiryComplexService.Update(info); #endregion #region 息頁面設定 result.Status = true; result.CloseWindow = false; result.Url = Url.Action("Edit", new { id = info.Inquiry.InquiryID }); result.Message = "MessageComplete".ToLocalized(); #endregion } catch (Exception ex) { #region 錯誤時錯誤訊息 result.Status = false; result.Message = ex.Message.ToString(); #endregion } return(Json(result)); }
public ActionResult Create(InquiryComplex info) { ResultModel result = new ResultModel(); try { #region 驗證Model if (!ModelState.IsValid) { throw new Exception(ModelStateErrorClass.FormatToString(ModelState)); } // 至少需有一筆明細資料 if (info.ChildList == null || info.ChildList.Count == 0) { ModelState.AddModelError("AlternativeID", "至少需有一筆明細資料。"); } else { var query = info.ChildList .GroupBy(x => x.ProductID) .ToDictionary(x => x.Key, x => x.Count()) .Where(x => x.Value > 1) .ToList(); DuplicateValidator validator = new DuplicateValidator(query); if (validator.Message.Count > 0) { foreach (var s in validator.Message) { ModelState.AddModelError("AlternativeID", s); } } } if (!ModelState.IsValid) { string message = ModelStateErrorClass.FormatToString(ModelState); result.Status = false; result.Message = message; return(Json(result)); } #endregion #region 前端資料變後端用資料ViewModel時用 #endregion #region Service資料庫 info = this._InquiryComplexService.Create(info); #endregion #region 息頁面設定 result.Status = true; result.CloseWindow = false; result.Url = Url.Action("Edit", new { id = info.Inquiry.InquiryID }); result.Message = "MessageComplete".ToLocalized(); #endregion } catch (Exception ex) { #region 錯誤時錯誤訊息 result.Status = false; result.Message = ex.Message.ToString(); #endregion } return(Json(result)); }
private void GenerateFake(InquiryComplex info) { }