public ActionResult RemoveRFQ(int?id) { using (BTCEntities db = new BTCEntities()) { RFQ rfqlist = db.RFQ.Where(a => a.ID == id).FirstOrDefault(); if (ModelState.IsValid) { rfqlist.IsDeleted = true; db.RFQ.Attach(rfqlist); var entry = db.Entry(rfqlist); entry.Property(a => a.IsDeleted).IsModified = true; db.SaveChanges(); } else { var errlist = ModelState.Values.Where(e => e.Errors.Count > 0).Select(a => a.Errors); List <string> sberr = new List <string>(); foreach (var item in errlist) { sberr.Add(item[0].ErrorMessage); } TempData["ErrorMessage"] = sberr.ToList(); } int TravelRequestID = rfqlist.TravelRequestID.Value; return(RedirectToAction("RFQProcessing", new { id = TravelRequestID })); } }
private bool retrieveEntity() { token = (Token)Session["token"]; rfq = rfqCRUD.readById(token.SubjectKey); if (rfq != null) { supplier = supplierCRUD.readById(rfq.SupplierId); if (supplier != null) { SessionObject soSupplier = new SessionObject(); soSupplier.Content = supplier; soSupplier.Status = "forUpdate"; Session["supplierObject"] = soSupplier; List <RFQACR> rfqACR = rfqACRCRUD.readByParentID(rfq.Id); rfq.RfqAcr = rfqACR; List <RFQEAV> rfqEAVList = rfqEAVCRUD.readByParentID(rfq.Id); rfq.RfqEAV = rfqEAVList; foreach (RFQEAV rfqEAV in rfqEAVList) { System.Collections.Generic.List <RFQDetail> rfqDetail = rfqDetailCRUD.readByParentID(rfq.Id); rfqEAV.RfqDetail = rfqDetail; } SessionObject soRFQ = new SessionObject(); soRFQ.Content = rfq; soRFQ.Status = "forUpdate"; Session["rfqObject"] = soRFQ; return(true); } } return(false); }
public async Task <ActionResult> AddQuotation(int id) { using (BTCEntities db = new BTCEntities()) { if (id <= 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RFQ rFQ = await db.RFQ.Include(a => a.TravelRequests).Include(a => a.TravelAgency).Include(a => a.Users).Include(a => a.TravelRequests.Quotation).Include("Quotation.ATQuotation").Include("Quotation.HSQuotation").Include("Quotation.PCQuotation").Where(a => a.ID == id).FirstOrDefaultAsync(); if (rFQ == null) { return(HttpNotFound()); } ViewBag.TravelAgency = db.TravelAgency.ToList(); ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService("", rFQ.TravelRequests.Users1.HREmployeeID.ToString())) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } //ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor.Contains(rFQ.TravelRequests.ApplicationNumber)).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); return(View(rFQ)); } }
protected void Page_Load(object sender, EventArgs e) { Control btnHome = Master.FindControl("btnHome"); btnHome.Visible = false; if (Session["rfqObject"] != null) { RFQ rfqObject = (RFQ)(((SessionObject)Session["rfqObject"]).Content); hiddenRFQ_ID.Value = rfqObject.Id.ToString(); if (rfqObject.Status != "PENDING" && rfqObject.Status != "IN PROGRESS") { divInfo.InnerText = "You have already sent us your information, but you can see it as read only."; divButtonsTopToHide.Visible = false; divButtons.Visible = false; //btnInstructions.Visible = false; } } if (!IsPostBack) { if (Session["supplierObject"] != null) { supplier = (Supplier)((SessionObject)Session["supplierObject"]).Content; ((SessionObject)Session["rfqObject"]).Status = "forUpdate"; uscRfqForm.load(); return; } exitByError("Could not load page, please try again."); } }
private RFQ getEntityByModel(RFQModel model) { if (model == null) { return(null); } RFQ entity = new RFQ(); entity.BuyerId = model.BuyerId; entity.CloseDate = model.CloseDate; entity.Id = model.Id; entity.RFQDate = model.RFQDate; entity.RFQNo = model.RFQNo; entity.SOBId = SessionHelper.SOBId; entity.Status = model.Status; if (model.Id == 0) { entity.CreateBy = AuthenticationHelper.UserId; entity.CreateDate = DateTime.Now; entity.CompanyId = AuthenticationHelper.CompanyId.Value; } else { entity.CreateBy = model.CreateBy; entity.CreateDate = model.CreateDate; entity.CompanyId = model.CompanyId; } entity.UpdateBy = AuthenticationHelper.UserId; entity.UpdateDate = DateTime.Now; return(entity); }
protected void Page_Load(object sender, EventArgs e) { Control btnHome = Master.FindControl("btnHome"); btnHome.Visible = false; uscSupplierForm.hideFieldsForVendor(); btnToRFQ.OnClientClick = "return validate(event);"; if (Session["rfqObject"] != null) { RFQ rfqObject = (RFQ)(((SessionObject)Session["rfqObject"]).Content); if (rfqObject.Status != "PENDING" && rfqObject.Status != "IN PROGRESS") { divInfo.InnerText = "You have already sent us your information, but you can see it as read only."; divButtons.Visible = false; btnToRFQ.OnClientClick = "return true;"; } } if (!IsPostBack) { if (Session["supplierObject"] != null) { supplier = (Supplier)((SessionObject)Session["supplierObject"]).Content; ((SessionObject)Session["supplierObject"]).Status = "forUpdate"; uscSupplierForm.load(); return; } exitByError("Could not load page, please try again."); } }
public Token readByRFQ(RFQ rfq) { Token token = new Token(); string query = "SELECT TokenKey, Token, [Subject], SubjectKey, DeadDate, Acknowledgement FROM TokenMaster " + "WHERE [Subject] = 'RFQ' AND Subjectkey = @key"; DataTable table = new DataTable(); SqlConnection sqlConnection = connectionManager.getConnection(); if (sqlConnection != null) { SqlCommand sqlCommand = new SqlCommand(query, sqlConnection); sqlCommand.Parameters.AddWithValue("@key", rfq.Id); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); sqlDataAdapter.Fill(table); if (table.Rows.Count > 0) { token.Id = long.Parse(table.Rows[0][0].ToString()); token.TokenNumber = table.Rows[0][1].ToString(); token.Subject = table.Rows[0][2].ToString(); token.SubjectKey = long.Parse(table.Rows[0][3].ToString()); token.DeadDate = DateTime.Parse(table.Rows[0][4].ToString()); token.Acnkowledgment = table.Rows[0][5].ToString(); sqlConnection.Dispose(); return(token); } } return(null); }
public ActionResult DeleteConfirmed(int id) { RFQ rFQ = db.rfq.Find(id); db.rfq.Remove(rFQ); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <ActionResult> RFQFinalPreview(int?id) { using (BTCEntities db = new BTCEntities()) { ViewBag.TravelAgency = db.TravelAgency.ToList(); ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); RFQ rfqlist = await db.RFQ.Include(a => a.TravelRequests).Include(a => a.TravelAgency).Include(a => a.Users).Where(a => a.ID == id).FirstOrDefaultAsync(); ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == (rfqlist.RFQName + "Pro" + rfqlist.ProcessingSection + "Trav" + rfqlist.TravelAgencyID)).Select(x => x.Attachments).ToList(); MasterRFQ = rfqlist; if (rfqlist.ProcessingSection == (int)ProcessingSections.AT || rfqlist.ProcessingSection == (int)ProcessingSections.ATHS || rfqlist.ProcessingSection == (int)ProcessingSections.ATHSPC || rfqlist.ProcessingSection == (int)ProcessingSections.ATPC) { ATQuotation atquot = new ATQuotation(); atquot.DestinationID = rfqlist.TravelRequests.PortOfDestinationID; atquot.DepartureDate = rfqlist.TravelRequests.DepartureDate; atquot.DepartureTime = rfqlist.TravelRequests.DepartureTime; atquot.OriginID = rfqlist.TravelRequests.PortOfOriginID; atquot.ReturnDate = rfqlist.TravelRequests.ReturnDate; atquot.ReturnTime = rfqlist.TravelRequests.ReturnTime; atquot.TicketClass = rfqlist.TravelRequests.TicketClass; ViewBag.ATQuotation = atquot; } if (rfqlist.ProcessingSection == (int)ProcessingSections.ATHS || rfqlist.ProcessingSection == (int)ProcessingSections.ATHSPC || rfqlist.ProcessingSection == (int)ProcessingSections.HS || rfqlist.ProcessingSection == (int)ProcessingSections.HSPC) { HSQuotation hsquot = new HSQuotation(); hsquot.CheckInDate = rfqlist.TravelRequests.CheckInDate; hsquot.CheckInTime = rfqlist.TravelRequests.CheckInTime; hsquot.CheckOutDate = rfqlist.TravelRequests.CheckOutDate; hsquot.CheckOutTime = rfqlist.TravelRequests.CheckOutTime; hsquot.HotelCategory = rfqlist.TravelRequests.HotelCategory; hsquot.HotelName = rfqlist.TravelRequests.HotelName; hsquot.RoomCategory = rfqlist.TravelRequests.RoomCategory; hsquot.RoomType = rfqlist.TravelRequests.RoomType; ViewBag.HSQuotation = hsquot; } if (rfqlist.ProcessingSection == (int)ProcessingSections.ATHSPC || rfqlist.ProcessingSection == (int)ProcessingSections.ATPC || rfqlist.ProcessingSection == (int)ProcessingSections.HSPC || rfqlist.ProcessingSection == (int)ProcessingSections.PC) { PCQuotation pcquot = new PCQuotation(); pcquot.DropOffDate = rfqlist.TravelRequests.DropOffDate; pcquot.DropoffLocation = rfqlist.TravelRequests.DropOffLocation; pcquot.DropOffTime = rfqlist.TravelRequests.DropOffTime; pcquot.PickUpDate = rfqlist.TravelRequests.PickUpDate; pcquot.PickupLocation = rfqlist.TravelRequests.PickUpLocation; pcquot.PickUpTime = rfqlist.TravelRequests.PickUpTime; pcquot.PreferredVehicle = rfqlist.TravelRequests.PreferredVehicle; ViewBag.PCQuotation = pcquot; } using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService("", rfqlist.TravelRequests.Users1.HREmployeeID.ToString())) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } return(View(rfqlist)); } }
public string Update(RFQ entity) { var originalEntity = this.Context.RFQs.Find(entity.Id); this.Context.Entry(originalEntity).CurrentValues.SetValues(entity); this.Context.Entry(originalEntity).State = EntityState.Modified; this.Commit(); return(entity.Id.ToString()); }
public ActionResult Edit([Bind(Include = "QuoteRequestNo,Size,PUDepot,SysDate,DelStreetNum,DelStreetName,DelArea,DelCity,DelCode,Instruct,price,Email")] RFQ rFQ) { if (ModelState.IsValid) { db.Entry(rFQ).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rFQ)); }
public async Task <ActionResult> DeleteConfirmed(int id) { using (BTCEntities db = new BTCEntities()) { RFQ rFQ = await db.RFQ.FindAsync(id); db.RFQ.Remove(rFQ); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } }
private void Save(RFQModel model) { RFQ entity = getEntityByModel(model); string result = string.Empty; if (entity.IsValid()) { if (model.Id > 0) { result = service.Update(entity); } else { result = service.Insert(entity); } if (!string.IsNullOrEmpty(result)) { //var savedLines = getDetailByOrderId(Convert.ToInt64(result)); IList <RFQDetailModel> savedLines = service.GetAllRFQDetail(Convert.ToInt64(result)).Select(x => new RFQDetailModel(x)).ToList(); if (savedLines.Count() > model.RFQDetail.Count()) { var tobeDeleted = savedLines.Take(savedLines.Count() - model.RFQDetail.Count()); foreach (var item in tobeDeleted) { service.DeleteRFQDetail(item.Id); } savedLines = service.GetAllRFQDetail(Convert.ToInt64(result)).Select(x => new RFQDetailModel(x)).ToList(); } foreach (var detail in model.RFQDetail) { RFQDetail detailEntity = getEntityByModel(detail); if (detailEntity.IsValid()) { detailEntity.RFQId = Convert.ToInt64(result); if (savedLines.Count() > 0) { detailEntity.Id = savedLines.FirstOrDefault().Id; savedLines.Remove(savedLines.FirstOrDefault(rec => rec.Id == detailEntity.Id)); service.UpdateRFQDetail(detailEntity); } else { service.InsertRFQDetail(detailEntity); } } } } } }
public ActionResult Create([Bind(Include = "QuoteRequestNo,Size,PUDepot,SysDate,DelStreetNum,DelStreetName,DelArea,DelCity,DelCode,Instruct,price,Email")] RFQ obj) { if (ModelState.IsValid) { obj.price = obj.CalcTotal(); obj.SysDate = System.DateTime.Now; obj.Email = User.Identity.GetUserName(); db.rfq.Add(obj); db.SaveChanges(); return(RedirectToAction("Details/" + obj.QuoteRequestNo)); } return(View(obj)); }
// GET: RFQs/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RFQ rFQ = db.rfq.Find(id); if (rFQ == null) { return(HttpNotFound()); } return(View(rFQ)); }
public async Task <ActionResult <RFQ> > GetCarInsuranceQuote(RFQ info) { // for this demo, we're only going to be processing approximately 30 quotes each per Insurer on the panel. var chance = new Chance(_availability); // check if we're being throttled // ------------------------------ if (BackoffSimulator.IsCurrentlyLimiting <RFQ>(DateTime.Now)) { Response.Headers.Add("Retry-After", BackoffSimulator.HowLong <RFQ>().ToString()); return(StatusCode((int)HttpStatusCode.TooManyRequests)); } // `429` Simulate Too many requests with backoff // -------------------------------------------- if (chance.ShouldBackOff()) { // poor mans rate limiter, simulate an upstream partner service, e.g. a panel member providing car quotes. (insurance company X) BackoffSimulator.TakeServiceOfflineUntil <RFQ>(DateTime.Now.AddSeconds(20)); Response.Headers.Add("Retry-After", "20"); return(StatusCode((int)HttpStatusCode.TooManyRequests)); } // not doing this for now. //// car reg contains `404` //// ---------------------- //// should return 404 `Not found`, a retry should never succeed. //if (info.RegNo.Contains("-404-")) //{ // return NotFound(); //} // car quote service goes `BOOM`! // ---------------------- if (chance.GoBoom()) { throw new Exception($"BOOM, {_quoterConfig.Name} service has died! and will not be coming back online for a few hours, perhaps 1 or even 2 days!"); } // DO THE ACTUAL FAKE QUOTE // ---------------------- var id = Guid.NewGuid(); var quote = new Quote(id, ((decimal)_rnd.Next(1000)) / 10M, _quoterConfig.Name, info); await Task.Delay(_rnd.Next(_speed)); _quotes.Add(id, quote); return(Ok(quote)); }
// GET: RFQ/Delete/5 public async Task <ActionResult> Delete(int?id) { using (BTCEntities db = new BTCEntities()) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RFQ rFQ = await db.RFQ.FindAsync(id); if (rFQ == null) { return(HttpNotFound()); } return(View(rFQ)); } }
public async Task <ActionResult> Edit([Bind(Include = "ID,TravelAgencyID,TravelRequestID,UserID,Remarks,Processing,ProcessingSection,IsDeleted")] RFQ rFQ) { using (BTCEntities db = new BTCEntities()) { if (ModelState.IsValid) { db.Entry(rFQ).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.TravelAgencyID = new SelectList(db.TravelAgency, "AgencyID", "AgencyCode", rFQ.TravelAgencyID); ViewBag.TravelRequestID = new SelectList(db.TravelRequests, "TravelRequestID", "ApplicationNumber", rFQ.TravelRequestID); ViewBag.UserID = new SelectList(db.Users, "UserId", "Username", rFQ.UserID); return(View(rFQ)); } }
public RFQModel(RFQ entity) { if (entity != null) { this.BuyerId = entity.BuyerId; this.CloseDate = entity.CloseDate; this.CompanyId = entity.CompanyId; this.CreateBy = entity.CreateBy; this.CreateDate = entity.CreateDate; this.Id = entity.Id; this.RFQDate = entity.RFQDate; this.RFQNo = entity.RFQNo; this.Status = entity.Status; this.UpdateBy = entity.UpdateBy; this.UpdateDate = entity.UpdateDate; } }
public async Task <ActionResult> Create([Bind(Include = "ID,TravelAgencyID,TravelRequestID,UserID,Remarks,Processing,ProcessingSection,IsDeleted")] RFQ rFQ) { using (BTCEntities db = new BTCEntities()) { if (ModelState.IsValid) { rFQ.RFQName = db.TravelRequests.Where(a => a.ID == rFQ.TravelRequestID).FirstOrDefault().ApplicationNumber; db.RFQ.Add(rFQ); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.TravelAgencyID = new SelectList(db.TravelAgency, "AgencyID", "AgencyCode", rFQ.TravelAgencyID); ViewBag.TravelRequestID = new SelectList(db.TravelRequests, "TravelRequestID", "ApplicationNumber", rFQ.TravelRequestID); ViewBag.UserID = new SelectList(db.Users, "UserId", "Username", rFQ.UserID); return(View(rFQ)); } }
public void fillWithEntity(RFQ rfq) { /*Fields repleaced by the next ones. Required by Seth*/ //txtProductionLeadTime.Text = rfq.ProductionLeadTime; //txtProductionToolingLeadTime.Text = rfq.ProductionToolingLeadTime; //txtPrototypeToolingLeadTime.Text = rfq.PrototypeToolingLeadTime; //txtPrototypePieceLeadTime.Text = rfq.PrototypePieceLeadTime; //txtLeadTimePPAP.Text = rfq.LeadTimePPAP; ///*********************************************************/ //txtLeadTimeFirstProductionOrder.Text = rfq.LeadTimeFirstProductionOrder; //txtLeadTimePPAP_FAIR.Text = rfq.LeadTimePPAPFAIR; //txtLeadTimeNormalProductionOrders.Text = rfq.LeadTimeNormalProductionOrders; /*********************************************************/ //cboUMWeight.SelectedValue = rfq.UmWeight; Not to be used anymore: always lb }
public void updateAttachmentsToBuyer(ref RFQ rfq) { rfq.AttachmentsToBuyer = null; string baseInboxAttachmentsPath = ConfigurationManager.AppSettings["RFQAttachmentsInbox"]; if (rfq.InboxAttachmentsFolder.Trim() != "" && Directory.Exists(baseInboxAttachmentsPath + rfq.InboxAttachmentsFolder.Trim())) { List <RFQAttachments> rfqInboxAttachmentsList = new List <RFQAttachments>(); DirectoryInfo directory = new DirectoryInfo(baseInboxAttachmentsPath + rfq.InboxAttachmentsFolder); foreach (FileInfo file in directory.GetFiles()) { RFQAttachments rfqAttachment = new RFQAttachments(); rfqAttachment.FileName = file.Name; rfqAttachment.Directory = rfq.InboxAttachmentsFolder; rfqInboxAttachmentsList.Add(rfqAttachment); } rfq.AttachmentsToBuyer = rfqInboxAttachmentsList; } }
// GET: RFQ/Edit/5 public async Task <ActionResult> Edit(int?id) { using (BTCEntities db = new BTCEntities()) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RFQ rFQ = await db.RFQ.FindAsync(id); if (rFQ == null) { return(HttpNotFound()); } ViewBag.TravelAgencyID = new SelectList(db.TravelAgency, "AgencyID", "AgencyCode", rFQ.TravelAgencyID); ViewBag.TravelRequestID = new SelectList(db.TravelRequests, "TravelRequestID", "ApplicationNumber", rFQ.TravelRequestID); ViewBag.UserID = new SelectList(db.Users, "UserId", "Username", rFQ.UserID); return(View(rFQ)); } }
private string getRFQbyID(long id) { RFQ rfq = rfq_CRUD.readById(id); rfq.User = user_CRUD.readById(rfq.CreatedBy); rfq.RfqAcr = rfqACR_CRUD.readByParentID(rfq.Id); rfq.RfqEAV = rfqEAV_CRUD.readByParentID(rfq.Id); foreach (RFQEAV rfqEAV in rfq.RfqEAV) { List <RFQDetail> rfqDetail = rfqDetail_CRUD.readByParentID(rfqEAV.Id); rfqEAV.RfqDetail = rfqDetail; } updateAttachmentsToBuyer(ref rfq); updateAttachmentsToVendor(ref rfq); return(JsonConvert.SerializeObject(rfq)); }
public ActionResult DeleteRFQ(int?id) { using (BTCEntities db = new BTCEntities()) { RFQ rfqitem = db.RFQ.Include(a => a.TravelRequests).Include(a => a.TravelAgency).Include(a => a.Users).Where(a => a.ID == id).FirstOrDefault(); if (ModelState.IsValid) { rfqitem.IsDeleted = true; db.RFQ.Attach(rfqitem); var entry = db.Entry(rfqitem); entry.Property(a => a.IsDeleted).IsModified = true; db.SaveChanges(); return(RedirectToAction("Index")); } else { var errlist = ModelState.Values.Where(e => e.Errors.Count > 0).Select(a => a.Errors); List <string> sberr = new List <string>(); foreach (var item in errlist) { sberr.Add(item[0].ErrorMessage); } TempData["ErrorMessage"] = sberr.ToList(); } ViewBag.TravelAgency = db.TravelAgency.ToList(); ViewBag.Cities = db.City.ToList(); ViewBag.Currencies = db.Currency.ToList(); ViewBag.ApprovalBy = db.Users.ToList(); ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == (rfqitem.RFQName + "Pro" + rfqitem.ProcessingSection + "Trav" + rfqitem.TravelAgencyID)).Select(x => x.Attachments).ToList(); MasterRFQ = rfqitem; using (EmployeeDetailsDBService EmpDBService = new EmployeeDetailsDBService("", rfqitem.TravelRequests.Users1.HREmployeeID.ToString())) { ViewBag.FullEmployeeDetails = EmpDBService.FullEmployeeDetails(); } return(View(rfqitem)); } }
private string getRFQ() { GatewayResponse response = new GatewayResponse(); long id = -1; try { id = long.Parse(Request["id"]); } catch (Exception ex) { response.ErrorThrown = true; response.ResponseDescription = "Bad request."; return(JsonConvert.SerializeObject(response)); } RFQ rfq = rfq_CRUD.readById(id); rfq.User = user_CRUD.readById(rfq.CreatedBy); rfq.RfqAcr = rfqACR_CRUD.readByParentID(rfq.Id); rfq.RfqEAV = rfqEAV_CRUD.readByParentID(rfq.Id); foreach (RFQEAV rfqEAV in rfq.RfqEAV) { List <RFQDetail> rfqDetail = rfqDetail_CRUD.readByParentID(rfqEAV.Id); rfqEAV.RfqDetail = rfqDetail; } updateAttachmentsToBuyer(ref rfq); updateAttachmentsToVendor(ref rfq); response.ErrorThrown = false; response.ResponseDescription = "OK"; response.Result = rfq; return(JsonConvert.SerializeObject(response)); }
public bool finalize() { if (saveRFQ()) { RFQ rfq = rfqCRUD.readById(this.rfq.Id); rfq.Status = "COMPLETED"; if (rfq.NoQuote) { rfq.Status = "NO QUOTE"; } rfq.DateFilledOut = DateTime.Now; if (!rfqCRUD.update(rfq)) { Navigator.goToPage("~/Error.aspx", "ERROR:" + rfqCRUD.ErrorMessage); return(false); } } else { return(false); } return(true); }
public string sendRFQ() { List <RFQ> resultRFQs = new List <RFQ>(); GatewayResponse response = new GatewayResponse(); String s; NewRFQScreen newRFQScreen; try { s = new StreamReader(Request.InputStream).ReadToEnd(); newRFQScreen = JsonConvert.DeserializeObject <NewRFQScreen>(s); } catch (Exception ex) { response.ErrorThrown = true; response.ResponseDescription = "ERROR: When trying to parse JSON in server. " + ex.Message; return(JsonConvert.SerializeObject(response)); } RFQNumberCRUD rfqNumberCRUD = new RFQNumberCRUD(); bomDetailCRUD bomDetail_CRUD = new bomDetailCRUD(); UserCRUD user_CRUD = new UserCRUD(); string baseBOMAttachmentsPath = ConfigurationManager.AppSettings["BOMLineAttachments"]; string baseRFQAttachmentsPath = ConfigurationManager.AppSettings["RFQAttachmentsSent"]; string strAuthUser = HttpContext.Current.User.Identity.Name; User user = user_CRUD.readById(strAuthUser); List <SIFDetail> EAUsList = newRFQScreen.SIFVolumesList; if (EAUsList.Count == 0) { response.ErrorThrown = true; response.ResponseDescription = "ERROR: Cannot create RFQ without EAU specified."; return(JsonConvert.SerializeObject(response)); } List <RFQEAV> newEAUList = new List <RFQEAV>(); foreach (SIFDetail eau in EAUsList) { RFQEAV eauParsed = new RFQEAV(); eauParsed.Volume = eau.ProjectedAnnualVolume; eauParsed.Year = eau.ProgramYear; RFQEAV alreadyExists = newEAUList.Find(eauInternal => eauInternal.Volume == eauParsed.Volume); if (alreadyExists == null) { newEAUList.Add(eauParsed); } else { alreadyExists.Year = alreadyExists.Year.Trim() + ", " + eauParsed.Year.Trim(); } } List <BOMDetail> bomDetailList = newRFQScreen.BomDetailList; ConnectionManager CM = new ConnectionManager(); Data_Base_MNG.SQL DM = CM.getDataManager(); if (newRFQScreen.SupplierList.Count > 0) { foreach (Supplier supplier in newRFQScreen.SupplierList) { foreach (BOMDetail component in bomDetailList) { RFQNumberEntity rfqNumber = new RFQNumberEntity(); rfqNumber.BOMDetailKey = component.Id; rfqNumber.SifHeaderKey = newRFQScreen.SIFHeaderID; rfqNumber.RFQNumber = rfqNumberCRUD.generateNewRFQNumber(rfqNumber.SifHeaderKey); if (rfqNumber.RFQNumber == -1) { response.ErrorThrown = true; response.ResponseDescription = "ERROR: There was an error generating a new RFQ number."; return(JsonConvert.SerializeObject(response)); } CM = new ConnectionManager(); DM = CM.getDataManager(); /*Begin Transaction*/ DM.Open_Connection("Send New RFQ"); RFQ rfq = new RFQ(); RFQNumberEntity rfqNumberGenereated = rfqNumberCRUD.create_return_object(rfqNumber, ref DM); if (rfqNumberCRUD.ErrorOccur) { response.ErrorThrown = true; response.ResponseDescription = "ERROR:" + rfqNumberCRUD.ErrorMessage; return(JsonConvert.SerializeObject(response)); } else { //rfq.SentAttachmentsFolder = newRFQScreen.FolderAttachments; newRFQScreen.FolderAttachments = newRFQScreen.FolderAttachments.Trim(); if (newRFQScreen.FolderAttachments != "") { if (System.IO.Directory.Exists((baseRFQAttachmentsPath + newRFQScreen.FolderAttachments))) { DirectoryInfo directory = new DirectoryInfo((baseRFQAttachmentsPath + newRFQScreen.FolderAttachments)); if (directory.GetFiles().Length > 0) { string folderName = ""; do { DateTime date = DateTime.Now; folderName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + "_" + MD5HashGenerator.GenerateKey(date); } while (Directory.Exists((baseRFQAttachmentsPath + folderName))); Directory.CreateDirectory((baseRFQAttachmentsPath + folderName)); rfq.SentAttachmentsFolder = folderName; foreach (FileInfo file in directory.GetFiles()) { try { File.Copy(file.FullName, (baseRFQAttachmentsPath + rfq.SentAttachmentsFolder + @"\" + file.Name), true); } catch (Exception ex) { response.ErrorThrown = true; response.ResponseDescription = "ERROR:" + ex.Message; return(JsonConvert.SerializeObject(response)); } } } } } foreach (Attachment bomAttachment in component.AttachmentsList) { if (rfq.SentAttachmentsFolder.Trim() == "") { string folderName = ""; do { DateTime date = DateTime.Now; folderName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + "_" + MD5HashGenerator.GenerateKey(date); } while (Directory.Exists((baseRFQAttachmentsPath + folderName))); Directory.CreateDirectory((baseRFQAttachmentsPath + folderName)); rfq.SentAttachmentsFolder = folderName; } string currentPathAttachmentSource = baseBOMAttachmentsPath + bomAttachment.Directory + @"\" + bomAttachment.FileName; string currentPathAttachmentTarget = baseRFQAttachmentsPath + rfq.SentAttachmentsFolder + @"\" + bomAttachment.FileName; try { File.Copy(currentPathAttachmentSource, currentPathAttachmentTarget, true); } catch (Exception e) { response.ErrorThrown = true; response.ResponseDescription = "ERROR:" + e.Message; return(JsonConvert.SerializeObject(response)); } } RfqCRUD rfqCRUD = new RfqCRUD(); rfq.SupplierId = supplier.Id; rfq.SupplierName = supplier.SupplierName; rfq.SentToVendor = DateTime.Now; rfq.LastEmail = supplier.ContactEmail; rfq.Status = "PENDING"; rfq.BomDetailId = component.Id; rfq.Um = component.Um; rfq.RfqNumberKey = rfqNumberGenereated.Id; rfq.RfqGenerated = rfqNumberGenereated.RfqGenerated; rfq.DueDate = newRFQScreen.DueDate; rfq.MarketSectorID = newRFQScreen.MarketSectorID; rfq.DrawingLevel = newRFQScreen.DrawingLevel; rfq.TargetPrice = newRFQScreen.TargetPrice; rfq.CommentsToVendor = newRFQScreen.CommentsToVendor; rfq.CreatedBy = strAuthUser; string idGenerated = rfqCRUD.createAndReturnIdGenerated(rfq, component, ref DM); if (!rfqCRUD.ErrorOccur) { rfq.Id = long.Parse(idGenerated); foreach (RFQEAV eau in newEAUList) { RFQEAVCRUD rfqEAV_CRUD = new RFQEAVCRUD(); RFQEAV rfqEAV_toPersist = new RFQEAV(); rfqEAV_toPersist.RfqHeaderKey = long.Parse(idGenerated); rfqEAV_toPersist.Volume = eau.Volume * component.Qty; rfqEAV_toPersist.Year = eau.Year; rfqEAV_toPersist.Status = "CREATED"; rfqEAV_CRUD.createAndReturnIdGenerated(rfqEAV_toPersist, ref DM); if (rfqEAV_CRUD.ErrorOccur) { response.ErrorThrown = true; response.ResponseDescription = "ERROR:" + rfqEAV_CRUD.ErrorMessage; return(JsonConvert.SerializeObject(response)); } } TokenCRUD token_CRUD = new TokenCRUD(); Token token = new Token(); token.Subject = "RFQ"; token.SubjectKey = long.Parse(idGenerated); token.TokenNumber = MD5HashGenerator.GenerateKey(DateTime.Now); if (token_CRUD.create(token, ref DM)) { Email NewMail = new Email(); MailMessage Message = new MailMessage(); try { Message.From = new MailAddress("*****@*****.**", "*****@*****.**"); Message.To.Add(new MailAddress(supplier.ContactEmail.ToString())); Message.Subject = "Request For Quote"; Message.IsBodyHtml = true; Message.BodyEncoding = System.Text.Encoding.UTF8; var url = ResolveUrl("~/Vendor/Email_RFQ_Request.htm"); var strEmailContent = HTMLContent(url); strEmailContent = strEmailContent.Replace("{BuyerName}", user.Name); strEmailContent = strEmailContent.Replace("{BuyerPhone}", user.Phone1); strEmailContent = strEmailContent.Replace("{BuyerEmail}", user.Email); strEmailContent = strEmailContent.Replace("{RFQ Number}", rfqNumber.RfqGenerated); strEmailContent = strEmailContent.Replace("{Part Number}", component.PartNumber); strEmailContent = strEmailContent.Replace("{RFQLink}", "http://" + Request.Url.Authority + Request.ApplicationPath + "/Vendor/RFQHandler.ashx?token=" + token.TokenNumber); Message.Body = strEmailContent; NewMail.SendMail(Message); } catch (Exception ex) { DM.RollBack(); response.ErrorThrown = true; response.ResponseDescription = "ERROR: Could not send email to: " + supplier.ContactEmail.ToString() + "; " + ex.Message; return(JsonConvert.SerializeObject(response)); } } else { response.ErrorThrown = true; response.ResponseDescription = "ERROR: " + token_CRUD.ErrorMessage; return(JsonConvert.SerializeObject(response)); } } else { response.ErrorThrown = true; response.ResponseDescription = "ERROR: " + rfqCRUD.ErrorMessage; return(JsonConvert.SerializeObject(response)); } } DM.CommitTransaction(); DM.Close_Open_Connection(); if (DM.ErrorOccur) { response.ErrorThrown = true; response.ResponseDescription = "ERROR: " + DM.Error_Mjs; return(JsonConvert.SerializeObject(response)); } resultRFQs.Add(rfq); } } } response.ErrorThrown = false; response.ResponseDescription = "RFQs created successfully."; response.Result = resultRFQs; return(JsonConvert.SerializeObject(response)); }
public RfqReceived(RFQ rfq) { RFQ = rfq; }
private string updateRFQ() { String s = new StreamReader(Request.InputStream).ReadToEnd(); RFQ rfq = JsonConvert.DeserializeObject <RFQ>(s); if (rfq.Status == "COMPLETED") { if (rfq.NoQuote) { rfq.Status = "NO QUOTE"; } } /*Begin Transaction*/ ConnectionManager CM = new ConnectionManager(); Data_Base_MNG.SQL DM = CM.getDataManager(); DM.Open_Connection("RFQ Update"); if (!rfq_CRUD.update(rfq, ref DM)) { return("ERROR:" + rfq_CRUD.ErrorMessage); } foreach (RFQEAV rfqEAVLocal in rfq.RfqEAV) { if (!rfqEAV_CRUD.update(rfqEAVLocal, ref DM)) { return("ERROR:" + rfqEAV_CRUD.ErrorMessage); } if (!rfqDetail_CRUD.deleteByParentID(rfqEAVLocal.Id, ref DM)) { return("ERROR:" + rfqDetail_CRUD.ErrorMessage); } foreach (RFQDetail rfqDetailCurrent in rfqEAVLocal.RfqDetail) { rfqDetailCurrent.RfqEAVKey = rfqEAVLocal.Id; if (!rfqDetail_CRUD.create(rfqDetailCurrent, ref DM)) { return("ERROR:" + rfqDetail_CRUD.ErrorMessage); } } } if (!rfqACR_CRUD.deleteByParentID(rfq.Id, ref DM)) { return("ERROR:" + rfqACR_CRUD.ErrorMessage); } foreach (RFQACR currentACR in rfq.RfqAcr) { currentACR.RfqHeaderKey = rfq.Id; if (!rfqACR_CRUD.create(currentACR, ref DM)) { return("ERROR:" + rfqACR_CRUD.ErrorMessage); } } DM.CommitTransaction(); DM.Close_Open_Connection(); if (DM.ErrorOccur) { return("ERROR:" + DM.Error_Mjs); } return(getRFQbyID(rfq.Id)); }