public EntityQuotationDetail Insert(EntityQuotationDetail data) { try { QuotationDetail dataNew = new QuotationDetail() { PK_QuotationDetailID = data.PK_QuotationDetailID, FK_QuotationID = data.FK_QuotationID, FK_itemID = data.FK_itemID, Status = data.Status, CreateDate = data.CreateDate, ModifyDate = data.ModifyDate }; base.DataContext.QuotationDetail.Add(dataNew); base.DataContext.SaveChanges(); data.PK_QuotationDetailID = dataNew.PK_QuotationDetailID; return(data); } catch (DbException dbex) { throw dbex; } catch (Exception ex) { throw ex; } }
public void AddDetails(QuotaionDetailsDM domain) { try { if (domain == null) { return; } QuotationDetail obj = new QuotationDetail(); obj.NumberOfDays = domain.NumberOfDays; obj.CategoryID = domain.Category.ID; obj.Price = domain.Price; obj.QuotationID = domain.Quotaion.ID; _DbContext.QuotationDetails.Add(obj); _DbContext.SaveChanges(); } catch (Exception ex) { //Errors in this scope indicates system error (not validation errors) //If error not handled, log it and add system error if (!_GlobalErrors.ErrorHandled) { _Logger.Error(ex, "Database Error: Cannot Add QuotationDetails!"); _GlobalErrors.AddSystemError("Database Error: Cannot Add QuotationDetails!"); _GlobalErrors.ErrorHandled = true; } throw; } }
public ActionResult Edit([Bind(Include = "QuotationDetailId,Quantity,QuotationId,ProductId,ProductName,ProductCode,Description,PriceExVAT,Reprobel,Bebat,Recupel,Auvibel,Brand,CategoryId,VATPercId")] QuotationDetail quotationDetail, int editValue) { Product prod = new Product(); prod = db.Products.Find(quotationDetail.ProductId); //aangezien VAT obj niet 100% mee linkt vanuit de edit halen we deze opnieuw op via QD id VAT tempqd = db.VATs.Find(quotationDetail.VATPercId); quotationDetail.ProductName = prod.ProductName; quotationDetail.TotalExVat = (quotationDetail.PriceExVAT + quotationDetail.Auvibel + quotationDetail.Bebat + quotationDetail.Recupel + quotationDetail.Reprobel) * quotationDetail.Quantity; quotationDetail.TotalIncVat = quotationDetail.TotalExVat * (1 + (tempqd.VATValue / 100)); if (ModelState.IsValid) { db.Entry(quotationDetail).State = EntityState.Modified; db.SaveChanges(); if (editValue == 1) { return(RedirectToAction("Edit", "Quotations", new { id = quotationDetail.QuotationId })); } return(RedirectToAction("AddProducts", "Quotations", new { id = quotationDetail.QuotationId })); } return(View(quotationDetail)); }
public ActionResult DeleteConfirmed(int id, string returnUrl) { QuotationDetail quotationDetail = db.QuotationDetails.Find(id); db.QuotationDetails.Remove(quotationDetail); db.SaveChanges(); return(Redirect(returnUrl)); }
public ActionResult Create([Bind(Include = "QuotationDetailId,Quantity,QuotationId,ProductId,ProductName,ProductCode,Description,PriceExVAT,Reprobel,Bebat,Recupel,Auvibel,Brand,CategoryId,VATPercId")] QuotationDetail quotationDetail) { if (ModelState.IsValid) { db.QuotationDetails.Add(quotationDetail); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(quotationDetail)); }
public async Task <ActionResult <QuotationDetail> > Update([FromBody] QuotationDetail _QuotationDetail) { QuotationDetail _QuotationDetailq = _QuotationDetail; try { using (var transaction = _context.Database.BeginTransaction()) { try { _QuotationDetailq = await(from c in _context.QuotationDetail .Where(q => q.QuotationCode == _QuotationDetail.QuotationCode & q.QuotationDetailId == _QuotationDetail.QuotationDetailId) select c ).FirstOrDefaultAsync(); _context.Entry(_QuotationDetailq).CurrentValues.SetValues((_QuotationDetail)); await _context.SaveChangesAsync(); BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora { IdOperacion = _QuotationDetailq.QuotationDetailId, DocType = "QuotationDetail", ClaseInicial = Newtonsoft.Json.JsonConvert.SerializeObject(_QuotationDetailq, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), Accion = "Actualizar", FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = _QuotationDetailq.UsuarioCreacion, UsuarioModificacion = _QuotationDetailq.UsuarioModificacion, UsuarioEjecucion = _QuotationDetailq.UsuarioModificacion, }); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); _logger.LogError($"Ocurrio un error: { ex.ToString() }"); throw ex; } } } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(_QuotationDetailq))); }
private void LoadGrid(QuotationDetail quotationDetail) { IList <QuotationDetail> lstOrigin = gridControl1.DataSource as IList <QuotationDetail>; if (lstOrigin == null) { lstOrigin = new List <QuotationDetail>(); } lstOrigin.Add(quotationDetail); gridUtility.BindingData <QuotationDetail>(lstOrigin); isEdited = true; }
// GET: QuotationDetails/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuotationDetail quotationDetail = db.QuotationDetails.Find(id); if (quotationDetail == null) { return(HttpNotFound()); } return(View(quotationDetail)); }
private List <QuotationDetail> GetChildOnCreate(Quotation master, QuotationComplex source) { List <QuotationDetail> infos = new List <QuotationDetail>(); var wanted = source.ChildList.Where(x => x.IsDirty == true); foreach (var item in wanted) { QuotationDetail temp = Mapper.Map <QuotationDetail>(item); temp.QuotationID = master.QuotationID; temp.LastPerson = IdentityService.GetUserData().UserID; temp.LastUpdate = DateTime.Now; infos.Add(temp); } return(infos); }
private void gridView1_DoubleClick(object sender, EventArgs e) { int i = gridView1.GetSelectedRows().FirstOrDefault(); QuotationDetail quotationDetail = gridView1.GetRow(i) as QuotationDetail; if (quotationDetail == null) { return; } frmEditProductProperties frmEdit = new frmEditProductProperties(quotationDetail, quotationDetail.Product, m_Company); frmEdit.UpdateRow = UpdateRow; frmEdit.ShowDialog(); gridView1.RefreshData(); }
// GET: QuotationDetails/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuotationDetail quotationDetail = db.QuotationDetails.Find(id); if (quotationDetail == null) { return(HttpNotFound()); } // uitleg returnUrl http://stackoverflow.com/questions/9772947/c-sharp-asp-net-mvc-return-to-previous-page ViewBag.returnUrl = Request.UrlReferrer; return(View(quotationDetail)); }
public async Task <IActionResult> GetQuotationDetailById(Int64 QuotationDetailId) { QuotationDetail Items = new QuotationDetail(); try { Items = await _context.QuotationDetail.Where(q => q.QuotationDetailId == QuotationDetailId).FirstOrDefaultAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(Items))); }
public ActionResult AddProductToQuotation(int?quotationId, int?productId) { // find op quotation en product var quotItem = db.QuotationDetails.SingleOrDefault(q => q.QuotationId == quotationId && q.ProductId == productId); Product prod = db.Products.Find(productId); // nieuwe quotation detail if (quotItem == null) { quotItem = new QuotationDetail { ProductId = (int)productId, QuotationId = (int)quotationId, Quantity = 1, Auvibel = prod.Auvibel, Bebat = prod.Bebat, CategoryId = prod.CategoryId, Brand = prod.Brand, Description = prod.Description, PriceExVAT = prod.PriceExVAT, ProductCode = prod.ProductCode, ProductName = prod.ProductName, Recupel = prod.Recupel, Reprobel = prod.Reprobel, VATPercId = prod.VATPercId, }; quotItem.VAT = db.VATs.Find(quotItem.VATPercId); db.QuotationDetails.Add(quotItem); } else { quotItem.Quantity++; } quotItem.TotalExVat = (quotItem.PriceExVAT + quotItem.Auvibel + quotItem.Bebat + quotItem.Recupel + quotItem.Reprobel) * quotItem.Quantity; //Berekent totaal per lijn van producten inc BTW quotItem.TotalIncVat = quotItem.TotalExVat * (1 + (quotItem.VAT.VATValue / 100)); CalculateTotalPriceinc(quotationId); db.SaveChanges(); return(RedirectToAction("AddProducts", new { id = quotationId })); }
public QuotationMasterViewModel AddQuotationMaster(QuotationMasterViewModel str) { QuotationMaster pur = new QuotationMaster(); pur.CustomerID = str.CustomerID; pur.QuoteNumber = str.QuoteNumber; pur.QuoteDate = str.QuoteDate; pur.QuoteRevDate = str.QuoteRevDate; pur.StoreID = int.Parse(System.Web.HttpContext.Current.Session["storeid"].ToString()); pur.UserID = int.Parse(System.Web.HttpContext.Current.Session["userid"].ToString()); pur.AddedUser = System.Web.HttpContext.Current.Session["username"].ToString(); cntxt.QuotationMasters.Add(pur); cntxt.SaveChanges(); foreach (QuotationDetailsViewModel strdet in str.QuotationDetailsViewModels) { QuotationDetail quotationDetail = new QuotationDetail(); quotationDetail.QuotationMasterId = pur.QuotationMasterid; quotationDetail.CategoryID = strdet.CategoryID; quotationDetail.ItemNameID = strdet.ItemNameID; quotationDetail.Specification = strdet.Specification; quotationDetail.Qty = strdet.Qty; quotationDetail.TotalPrice = strdet.TotalPrice; quotationDetail.UnitPrice = strdet.UnitPrice ?? 00; quotationDetail.CGSTPercent = strdet.CGSTPercent; quotationDetail.SGSTPercent = strdet.SGSTPercent; quotationDetail.AddedUser = System.Web.HttpContext.Current.Session["username"].ToString(); quotationDetail.AddedDate = DateTime.Now; quotationDetail.IsDeleted = false; cntxt.QuotationDetails.Add(quotationDetail); } cntxt.SaveChanges(); return(str); }
// GET: QuotationDetails/Edit/5 public ActionResult Edit(int?id, int?edit) { ViewBag.VAT = new SelectList(db.VATs, "VATPercId", "VATValue"); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuotationDetail quotationDetail = db.QuotationDetails.Find(id); if (quotationDetail == null) { return(HttpNotFound()); } // zet de edit waarde op 0 of 1 (zodat we weten dat hij van Edit of vanuit addproducts komt) ViewBag.edit = 0; if (edit != null) { ViewBag.edit = edit; } return(View(quotationDetail)); }
public void RemoveChild(long id) { #region 取資料 QuotationDetail query = this._DetailRepository.Get(x => x.SeqNo == id); #endregion #region 邏輯驗證 if (query == null)//沒有資料 { throw new Exception("MessageNoData".ToLocalized()); } #endregion #region 變為Models需要之型別及邏輯資料 #endregion #region Models資料庫 this._DetailRepository.Delete(query); this._UnitOfWork.SaveChange(); #endregion }
private void btnRemove_Click(object sender, EventArgs e) { DialogResult dialogResult = FormUtility.MsgDelete(); if (dialogResult == DialogResult.Yes) { int i = gridView1.GetSelectedRows().FirstOrDefault(); QuotationDetail detail = gridView1.GetRow(i) as QuotationDetail; if (detail != null) { using (IUnitOfWork uow = new UnitOfWork()) { uow.QuotationDetailRepository.Remove(detail); uow.Commit(); } } gridView1.DeleteRow(i); } else { return; } }
public int Insert(QuotationDetail _QuotationDetail) { return(QuotationDetailDaoRepository.Insert(_QuotationDetail)); }
public ActionResult CopyQuotation(int?Id) { Quotation quotNew = new Quotation(); Quotation quotOld = new Quotation(); quotOld = db.Quotations.Find(Id); //check of er al een copy is List <Quotation> quotlist = db.Quotations.ToList(); var checkQuotNumber = quotlist.Where(q => q.QuotationNumber == quotOld.QuotationNumber); if (checkQuotNumber.Count() == 1) { quotNew.Annotation = quotOld.Annotation + " - Copy"; quotNew.Active = quotOld.Active; quotNew.Box = quotOld.Box; quotNew.CellPhone = quotOld.CellPhone; quotNew.CustomerId = quotOld.CustomerId; quotNew.Date = quotOld.Date; quotNew.Email = quotOld.Email; quotNew.ExpirationDate = quotOld.ExpirationDate; quotNew.FirstName = quotOld.FirstName; quotNew.LastName = quotOld.LastName; quotNew.PostalCodeNumber = quotOld.PostalCodeNumber; quotNew.QuotationNumber = quotOld.QuotationNumber; quotNew.StreetName = quotOld.StreetName; quotNew.StreetNumber = quotOld.StreetNumber; quotNew.TotalPrice = 0; quotNew.Town = quotOld.Town; db.Quotations.Add(quotNew); db.SaveChanges(); var delivery = db.CustomerDeliveryAddresses.Find(quotOld.customerDeliveryAddress.CustomerDeliveryAddressId); quotNew.customerDeliveryAddress = delivery; foreach (var item in quotOld.QuotationDetail) { var qd = new QuotationDetail(); qd.Quantity = 1; qd.PriceExVAT = 0; qd.TotalExVat = 0; qd.TotalIncVat = 0; qd.Auvibel = item.Auvibel; qd.Bebat = item.Bebat; qd.Brand = item.Brand; qd.CategoryId = item.CategoryId; qd.Description = item.Description; qd.ProductCode = item.ProductCode; qd.ProductName = item.ProductName; qd.Recupel = item.Recupel; qd.Reprobel = item.Reprobel; qd.VATPercId = item.VATPercId; qd.ProductId = item.ProductId; qd.QuotationId = quotNew.QuotationId; qd.VAT = item.VAT; db.QuotationDetails.Add(qd); } db.SaveChanges(); } else { TempData["error"] = "Er is reeds een copy van deze offerte"; } return(RedirectToAction("index")); }
private void InititalizeForm(QuotationDetail quotationDetail) { richTextBox1.Text = ProductUtility.ConvertToDescription <Model.QuotationDetail>(m_QuotationDetail, ProductUtility.QuotationDetailToDescription, 2); }
private void UpdateRow(QuotationDetail quotationDetail) { gridUtility.UpdateRow <QuotationDetail>(quotationDetail); }
public ActionResult AddItemsForQuotation(QuotationDetail quotationDetail) { return(View()); }
public bool Validate(QuotationDetail _QuotationDetail, out List <string> lstMessages) { return(QuotationDetailDaoRepository.Validate(_QuotationDetail, out lstMessages)); }
public QuotationMasterViewModel UpdateQuotationMaster(QuotationMasterViewModel Quotmater) { var q = from invmstr in cntxt.QuotationMasters where invmstr.QuotationMasterid == Quotmater.QuotationMasterid select invmstr; foreach (var element in q) { element.CustomerID = Quotmater.CustomerID; element.QuoteNumber = Quotmater.QuoteNumber; element.QuoteDate = Quotmater.QuoteDate; element.QuoteRevDate = Quotmater.QuoteRevDate; element.ModifiedUser = System.Web.HttpContext.Current.Session["username"].ToString(); element.ModifiedDate = DateTime.Now; } foreach (QuotationDetailsViewModel Quotdet in Quotmater.QuotationDetailsViewModels) { if (!cntxt.QuotationDetails.Any(f => f.QuotationDetailId == Quotdet.QuotationDetailId)) { QuotationDetail quotationDetail = new QuotationDetail(); quotationDetail.QuotationMasterId = Quotmater.QuotationMasterid; quotationDetail.CategoryID = Quotdet.CategoryID; quotationDetail.ItemNameID = Quotdet.ItemNameID; quotationDetail.Specification = Quotdet.Specification; quotationDetail.Qty = Quotdet.Qty; quotationDetail.TotalPrice = Quotdet.TotalPrice; quotationDetail.UnitPrice = Quotdet.UnitPrice ?? 00; quotationDetail.CGSTPercent = Quotdet.CGSTPercent; quotationDetail.SGSTPercent = Quotdet.SGSTPercent; quotationDetail.AddedUser = System.Web.HttpContext.Current.Session["username"].ToString(); quotationDetail.AddedDate = DateTime.Now; quotationDetail.IsDeleted = false; cntxt.QuotationDetails.Add(quotationDetail); } else { if (Quotdet.QuotationDetailId != 0) { var q1 = from ivoidedetail in cntxt.QuotationDetails where ivoidedetail.QuotationDetailId == Quotdet.QuotationDetailId select ivoidedetail; foreach (var element in q1) { element.CategoryID = Quotdet.CategoryID; element.ItemNameID = Quotdet.ItemNameID; element.Specification = Quotdet.Specification; element.Qty = Quotdet.Qty; element.TotalPrice = Quotdet.TotalPrice; element.UnitPrice = Quotdet.UnitPrice ?? 00; element.CGSTPercent = Quotdet.CGSTPercent; element.SGSTPercent = Quotdet.SGSTPercent; element.ModifiedUser = System.Web.HttpContext.Current.Session["username"].ToString(); element.ModifiedDate = DateTime.Now; } } else { QuotationDetail quotationDetail = new QuotationDetail(); quotationDetail.QuotationMasterId = Quotmater.QuotationMasterid; quotationDetail.CategoryID = Quotdet.CategoryID; quotationDetail.ItemNameID = Quotdet.ItemNameID; quotationDetail.Specification = Quotdet.Specification; quotationDetail.Qty = Quotdet.Qty; quotationDetail.TotalPrice = Quotdet.TotalPrice; quotationDetail.UnitPrice = Quotdet.UnitPrice ?? 00; quotationDetail.CGSTPercent = Quotdet.CGSTPercent; quotationDetail.SGSTPercent = Quotdet.SGSTPercent; quotationDetail.AddedUser = System.Web.HttpContext.Current.Session["username"].ToString(); quotationDetail.AddedDate = DateTime.Now; quotationDetail.IsDeleted = false; cntxt.QuotationDetails.Add(quotationDetail); } } } var alreadyenteredinvoicelist = from ivoidedetail in cntxt.QuotationDetails where ivoidedetail.QuotationMasterId == Quotmater.QuotationMasterid && ivoidedetail.QuotationDetailId != 0 select ivoidedetail; foreach (var element in alreadyenteredinvoicelist) { //if (!Quotmater.InvoiceDetails.Any(f => f.InvoiceDetailID == element.InvoiceDetailID)) if (!Quotmater.QuotationDetailsViewModels.Any(f => f.QuotationDetailId == element.QuotationDetailId)) { element.IsDeleted = true; element.DeletedUser = System.Web.HttpContext.Current.Session["username"].ToString(); element.Deleteddate = DateTime.Now; element.Qty = 0; } } cntxt.SaveChanges(); return(Quotmater); }
public ActionResult CreateQuotation(SalesQuotationViewModel model) { if (ModelState.IsValid) { if (model.Details == null || model.Details.Count == 0) { ViewBag.ErrorMessage = "报价要有明细"; return(View(model)); } //头部赋值 QuotationHeader header = new QuotationHeader() { Buyer = (from emp in db.Employees where emp.Id == Convert.ToInt32(model.Buyer) select emp).First(), CommissionType = model.CommisionType, Commision = model.Commision, ExchangeRate = model.ExchangeRate, Fob = model.Fob, SeaCost = model.SeaCost, Sales = (from emp in db.Employees where emp.Account == model.Sales select emp).First(), SalesMemo = model.SalesMemo, PurchaseMemo = model.PurchaseMemo, Other = model.Other, QDate = DateTime.Now, Status = model.Status }; db.QHeaders.Add(header); List <QuotationDetail> details = new List <QuotationDetail>(); //明细赋值 model.Details.ForEach(p => { QuotationDetail item = new QuotationDetail() { Header = header, Class = (from c in db.ProductClasses where c.Name == p.ProductClass select c).First(), Metal = p.Metal, Shape = p.Shape, Model = p.Model, Technology = p.Technology, Qty = p.Qty, Profit = Convert.ToDecimal( (from c in db.ProductClasses where c.Name == p.ProductClass select c.Profit).First() ), PurchasePrice = 0, Memo = p.Memo, SalesPrice = 0, CommissionCost = 0 }; details.Add(item); }); details.ForEach(p => { db.QDetails.Add(p); }); db.SaveChanges(); } return(View(model)); }
public int Delete(QuotationDetail _QuotationDetail) { return(QuotationDetailDaoRepository.Delete(_QuotationDetail)); }
public int Update(QuotationDetail _QuotationDetail) { return(QuotationDetailDaoRepository.Update(_QuotationDetail)); }