public bool SaveQuotation(b2bQuotation model) { IsResult = true; if (!ValidateQuotation(model)) { return(IsResult); } using (var trans = new TransactionScope()) { try { if (model.QuotationID > 0) { qDB.b2bQuotations.Context.Refresh(RefreshMode.KeepCurrentValues, model); qDB.b2bQuotations.InsertOnSubmit(model);// ทำการ save qDB.SubmitChanges(); } trans.Complete(); } catch (Exception ex) { IsResult = false; MsgError.Add(ex); } } return(IsResult); }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <returns></returns> public bool UpdateQuotation(b2bQuotation model) { var data = qDB.b2bQuotations.Single(q => q.QuotationID == model.QuotationID); // set ค่า model data.QuotationCode = model.QuotationCode; data.QuotationID = model.QuotationID; data.Qty = model.Qty; data.QtyUnit = model.QtyUnit; data.IsAttachQuote = model.IsAttach; data.IsEmail = model.IsEmail; data.IsTelephone = model.IsTelephone; data.RootQuotationCode = model.RootQuotationCode; data.FromCompID = model.FromCompID; data.ToCompID = model.ToCompID; data.CompanyName = model.CompanyName; data.ReqFirstName = model.ReqFirstName; data.ReqLastName = model.ReqLastName; data.ReqAddrLine1 = model.ReqAddrLine1; data.ReqAddrLine2 = model.ReqAddrLine1; data.ReqSubDistrict = model.ReqSubDistrict; data.ReqDistrictID = model.ReqDistrictID; data.ReqPostalCode = model.ReqPostalCode; data.ReqPhone = model.ReqPhone; data.ReqEmail = model.ReqEmail; data.QuotationFolderID = model.QuotationFolderID; data.SaleName = model.SaleName; data.SalePhone = model.SalePhone; data.SaleCompany = model.SaleCompany; data.SaleEmail = model.SaleEmail; data.PricePerPiece = model.PricePerPiece; data.TotalPrice = model.TotalPrice; data.Discount = model.Discount; data.Vat = model.Vat; data.IsPDFView = model.IsPDFView; data.IsSentEmail = model.IsSentEmail; data.IsReject = model.IsReject; data.RejectDetail = model.RejectDetail; data.IsAttach = model.IsAttach; data.IsImportance = model.IsImportance; data.IsRead = model.IsRead; data.IsReply = model.IsReply; data.QuotationStatus = model.QuotationStatus; data.Remark = model.Remark; data.SendDate = model.SendDate; data.OpenDate = model.OpenDate; // default data.RowVersion++; data.ModifiedBy = "sa"; data.ModifiedDate = DateTime.Now; qDB.SubmitChanges();// บันทึกค่า return(true); }
/// <summary> /// /// </summary> /// <param name="data"></param> /// <returns></returns> public bool ValidateUpdateQuotation(b2bQuotation data) { try { b2bQuotation model = qDB.b2bQuotations.Single(q => q.QuotationID == data.QuotationID); return(true); } catch { return(false); } }
private bool ValidateQuotation(b2bQuotation model) { //Example if (model.QuotationCode == null) { IsResult = false; } else if (model.ProductID == null) { IsResult = false; } return(IsResult); }
public bool InsertQuotation(b2bQuotation Quotation) { try { Quotation.CreatedDate = DateTime.Now;; Quotation.ModifiedDate = DateTime.Now;; Quotation.CreatedBy = "sa"; Quotation.ModifiedBy = "sa"; Quotation.RowFlag = 1; Quotation.RowVersion = 1; Quotation.IsDelete = false; qDB.b2bQuotations.InsertOnSubmit(Quotation); // insert Quotation qDB.SubmitChanges(); IsResult = true; } catch (Exception ex) { IsResult = false; } return(IsResult); }
public bool SendMatching( string rootquotationcode, int productid, int qty, string qtyunit, int tocompid, string compname, int fromcompid, bool ispublic, string phone, string email, string detail = "", string status = "R", bool isMatching = false) { var outboxModel = new b2bQuotation(); var inboxModel = new b2bQuotation(); try { if (status != "R") { status = "Q"; } using (var trans = new TransactionScope()) { var count = CountData <b2bQuotation>(" * ", " CreatedDate = GetDate() AND RowFlag > 0"); var product = SelectData <view_ProductMobileApp>("* ", " productid = " + productid).First(); #region Set Remark if (detail == null) { detail = compname + " ติดต่อคุณ เพื่อขอราคา " + product.ProductName; if (qty != null && qty > 0) { detail += " จำนวน " + qty + " " + qtyunit; } detail += " ติดต่อกลับได้ที่ " + email + " หรือ โทร " + phone; } #endregion #region Request Price string Code = ""; string RootCode = ""; if (!string.IsNullOrEmpty(rootquotationcode)) { Code = rootquotationcode; RootCode = rootquotationcode; } else { Code = AutoGenCode("QO", count); count = count + 1; } #region ข้อมูลร้องขอราคาสินค้า [Outbox] outboxModel.ProductID = productid; outboxModel.Qty = (short)DataManager.ConvertToSingle(qty); outboxModel.QtyUnit = qtyunit; outboxModel.ToCompID = tocompid; outboxModel.QuotationCode = Code; outboxModel.RootQuotationCode = RootCode; outboxModel.CompanyName = compname; outboxModel.ReqFirstName = compname; outboxModel.ReqAddrLine1 = ""; outboxModel.ReqAddrLine2 = ""; outboxModel.ReqSubDistrict = ""; outboxModel.ReqPhone = phone; outboxModel.ReqEmail = email; outboxModel.FromCompID = fromcompid; outboxModel.ReqRemark = detail; outboxModel.IsSentEmail = false; outboxModel.IsTelephone = false; outboxModel.IsAttach = false; outboxModel.IsAttachQuote = false; outboxModel.IsEmail = false; outboxModel.IsReply = false; outboxModel.IsRead = false; outboxModel.IsReject = false; outboxModel.IsImportance = false; outboxModel.IsPDFView = false; outboxModel.IsOutbox = true; outboxModel.SendDate = DateTimeNow; outboxModel.IsClosed = false; outboxModel.IsPublic = ispublic; outboxModel.QuotationStatus = "R"; outboxModel.IsMatching = false; // outboxModel.Is #endregion #region ข้อมูลร้องขอราคาสินค้า[Inbpx] inboxModel.ProductID = productid; inboxModel.Qty = (short)qty; inboxModel.QtyUnit = qtyunit; inboxModel.ToCompID = tocompid; inboxModel.CompanyName = compname; inboxModel.ReqFirstName = compname; inboxModel.ReqLastName = ""; inboxModel.ReqAddrLine1 = ""; inboxModel.ReqAddrLine2 = ""; inboxModel.ReqSubDistrict = ""; inboxModel.ReqPostalCode = ""; inboxModel.ReqPhone = phone; inboxModel.ReqEmail = email; inboxModel.FromCompID = fromcompid; inboxModel.ReqRemark = detail; inboxModel.IsSentEmail = false; inboxModel.IsTelephone = false; inboxModel.IsAttach = false; inboxModel.IsAttachQuote = false; inboxModel.IsEmail = false; inboxModel.IsReply = false; inboxModel.IsRead = false; inboxModel.IsReject = false; inboxModel.IsImportance = false; inboxModel.IsPDFView = false; inboxModel.IsOutbox = false; inboxModel.SendDate = DateTimeNow; inboxModel.IsClosed = false; inboxModel.IsPublic = ispublic; inboxModel.QuotationStatus = "R"; inboxModel.QuotationCode = Code; inboxModel.RootQuotationCode = RootCode; inboxModel.IsMatching = false; #endregion #region Insert Quotation InsertQuotation(outboxModel); InsertQuotation(inboxModel); #endregion #endregion #region Matching if (ispublic && string.IsNullOrEmpty(rootquotationcode)) { var companies = GetMatchingCompany(productid); companies.RemoveAll(x => x.CompID == tocompid); #region loop for insert quotation foreach (var comp in companies) { var isMatch = false; #region ตั้ง ข้อความ if (comp.CompID == tocompid) { isMatch = true; detail = compname + " ติดต่อคุณ เพื่อขอราคา " + product.ProductName; if (qty > 0) { detail += " จำนวน " + qty + " " + qtyunit; } } else { detail = compname + " กำลังสนใจ " + product.ProductName; if (qty > 0) { detail += " จำนวน " + qty + " " + qtyunit; } detail += " หากคุณมีสินค้าที่ใกล้เคียง สามารถเสนอราคากลับได้ที่ " + email + " หรือ โทร " + phone; } #endregion outboxModel = new b2bQuotation(); inboxModel = new b2bQuotation(); Code = AutoGenCode("MC", count); count++; #region ข้อมูลร้องขอราคาสินค้า [Outbox] outboxModel.ProductID = productid; outboxModel.Qty = (short)DataManager.ConvertToSingle(qty); outboxModel.QtyUnit = qtyunit; outboxModel.ToCompID = comp.CompID; outboxModel.ReqRemark = detail; outboxModel.CompanyName = compname; outboxModel.ReqFirstName = compname; outboxModel.ReqAddrLine1 = ""; outboxModel.ReqAddrLine2 = ""; outboxModel.ReqSubDistrict = ""; outboxModel.ReqPhone = phone; outboxModel.ReqEmail = email; outboxModel.FromCompID = fromcompid; outboxModel.IsSentEmail = false; outboxModel.IsTelephone = false; outboxModel.IsAttach = false; outboxModel.IsAttachQuote = false; outboxModel.IsEmail = false; outboxModel.IsReply = false; outboxModel.IsRead = false; outboxModel.IsReject = false; outboxModel.IsImportance = false; outboxModel.IsPDFView = false; outboxModel.IsOutbox = true; outboxModel.SendDate = DateTimeNow; outboxModel.IsClosed = false; outboxModel.IsPublic = ispublic; outboxModel.QuotationStatus = "R"; outboxModel.IsMatching = false; outboxModel.QuotationCode = Code; outboxModel.RootQuotationCode = RootCode; #endregion #region ข้อมูลร้องขอราคาสินค้า[Inbpx] inboxModel.ProductID = productid; inboxModel.Qty = (short)qty; inboxModel.QtyUnit = qtyunit; inboxModel.ToCompID = comp.CompID; inboxModel.ReqRemark = detail; inboxModel.FromCompID = fromcompid; inboxModel.CompanyName = compname; inboxModel.ReqFirstName = compname; inboxModel.ReqLastName = ""; inboxModel.ReqAddrLine1 = ""; inboxModel.ReqAddrLine2 = ""; inboxModel.ReqSubDistrict = ""; inboxModel.ReqPostalCode = ""; inboxModel.ReqPhone = phone; inboxModel.ReqEmail = email; inboxModel.IsSentEmail = false; inboxModel.IsTelephone = false; inboxModel.IsAttach = false; inboxModel.IsAttachQuote = false; inboxModel.IsEmail = false; inboxModel.IsReply = false; inboxModel.IsRead = false; inboxModel.IsReject = false; inboxModel.IsImportance = false; inboxModel.IsPDFView = false; inboxModel.IsOutbox = false; inboxModel.SendDate = DateTimeNow; inboxModel.IsClosed = false; inboxModel.IsPublic = ispublic; inboxModel.QuotationStatus = "R"; inboxModel.QuotationCode = Code; inboxModel.RootQuotationCode = RootCode; inboxModel.IsMatching = true; #endregion #region Insert Quotation InsertQuotation(outboxModel); InsertQuotation(inboxModel); #endregion } #endregion // Share fb. //PostFeedQuotationOnFacebook(model); // Share tw. //PostTweetsQuotationOnTwitter(model); } #endregion trans.Complete(); } return(IsResult); } catch (Exception ex) { MsgError.Add(ex); return(false); } }