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 ActionResult ViewATQuotations(int?id) { using (BTCEntities db = new BTCEntities()) { quotation = db.Quotation.Include(a => a.TravelRequests).Where(x => x.ID == id).FirstOrDefault(); List <ATQuotation> atQuotes = new List <ATQuotation>(); ViewBag.Cities = db.City.ToList(); if (id > 0 && quotation.ATQuotation.Count > 0) { foreach (var item in db.ATQuotation.Include(x => x.Quotation).Include(x => x.Quotation.TravelRequests).Where(a => a.QuotationID == id && a.IsActive == true && a.IsDeleted == false)) { ATQuotation atQuote = item; var ATID = atQuote.ID; ViewData.Add("fileUploader" + ATID, db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList()); ViewData.Add("ATfileUploader" + ATID, db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList()); atQuotes.Add(atQuote); } } return(View(atQuotes)); } }
public ActionResult AddATQuotation(int?quoteid, int?atquoteid) { ModelState.Clear(); using (BTCEntities db = new BTCEntities()) { ATQuotation atQuote = new ATQuotation(); ViewBag.Cities = db.City.ToList(); quotation = db.Quotation.Include(a => a.TravelRequests).Where(x => x.ID == quoteid).FirstOrDefault(); if (TempData["ATQuotationVal"] != null) { atQuote = (ATQuotation)TempData["ATQuotationVal"]; ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); ViewBag.ATfileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); } else { var atquotes = db.ATQuotation.Include(x => x.Quotation).Include(x => x.Quotation.TravelRequests).Where(a => a.QuotationID == quoteid && a.IsDeleted == false)?.ToList(); if (atquoteid > 0 && atquotes.Where(a => a.ID == atquoteid).Count() > 0) { atQuote = db.ATQuotation.Include(x => x.Quotation).Include(x => x.Quotation.TravelRequests).Where(a => a.QuotationID == quoteid && a.ID == atquoteid && a.IsDeleted == false).FirstOrDefault(); ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); ViewBag.ATfileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); } else { if (atquotes.Where(a => a.IsActive == false).Count() <= 0) { var tempatQuote = db.ATQuotation.Include(x => x.Quotation).Include(x => x.Quotation.TravelRequests).Where(a => a.QuotationID == quoteid).FirstOrDefault(); atQuote.IsActive = false; atQuote.IsDeleted = false; atQuote.IsLowest = false; atQuote.OriginID = tempatQuote.OriginID; atQuote.QuotationID = tempatQuote.QuotationID; atQuote.QuotationName = tempatQuote.QuotationName; atQuote.ReturnDate = tempatQuote.ReturnDate; atQuote.ReturnTime = tempatQuote.ReturnTime; atQuote.TicketClass = tempatQuote.TicketClass; atQuote.DepartureDate = tempatQuote.DepartureDate; atQuote.DepartureTime = tempatQuote.DepartureTime; atQuote.DestinationID = tempatQuote.DestinationID; atQuote.City = tempatQuote.City; atQuote.City1 = tempatQuote.City1; atQuote.Quotation = tempatQuote.Quotation; db.ATQuotation.Add(atQuote); db.Configuration.ValidateOnSaveEnabled = false; db.SaveChanges(); ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); ViewBag.ATfileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); } else { atQuote = db.ATQuotation.Include(x => x.Quotation).Include(x => x.Quotation.TravelRequests).Where(a => a.QuotationID == quoteid && a.IsActive == false).FirstOrDefault(); ViewBag.fileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); ViewBag.ATfileUploader = db.AttachmentLink.Where(a => a.AttachmentFor == quotation.TravelRequests.ApplicationNumber + ".AT-Q" + atQuote.ID).Select(x => x.Attachments).Include(a => a.AttachmentLink).Include(a => a.Users)?.ToList(); } } } pageNo = 1; quotation.ATQuotation.Add(atQuote); quotation.HSQuotation.Clear(); quotation.PCQuotation.Clear(); CheckErrorMessages(); return(View(atQuote)); } }
public ActionResult AddATQuotation(ATQuotation atquote, FormCollection formCollection) { ModelState.Remove("DepartureTime"); ModelState.Remove("ReturnTime"); if (ModelState.IsValid) { using (BTCEntities db = new BTCEntities()) { atquote.ID = string.IsNullOrEmpty(Convert.ToString(formCollection["ATId"])) ? 0 : Convert.ToInt32(formCollection["ATId"]); if ((bool)atquote.IsLowest && db.ATQuotation.Include(a => a.Quotation).Where(a => a.QuotationID == atquote.QuotationID && a.ID != atquote.ID && (bool)a.IsLowest).Count() > 0) { atquote.Quotation = db.Quotation.Where(a => a.ID == atquote.QuotationID).FirstOrDefault(); TempData["ErrorMessage"] = new List <string>() { "Only One quotaiton can be the lowest" }; TempData["ATQuotationVal"] = atquote; return(RedirectToAction("AddATQuotation", new { quoteid = atquote.QuotationID })); } var dbatquote = db.ATQuotation.Include(a => a.Quotation).Where(a => a.QuotationID == atquote.QuotationID && a.ID == atquote.ID).FirstOrDefault(); dbatquote.Airlines = string.IsNullOrEmpty(atquote.Airlines) ? "" : atquote.Airlines; dbatquote.TicketClass = string.IsNullOrEmpty(atquote.TicketClass) ? "" : atquote.TicketClass; dbatquote.TicketNo = string.IsNullOrEmpty(atquote.TicketNo) ? "" : atquote.TicketNo; dbatquote.DepartureTime = string.IsNullOrEmpty(Convert.ToString(formCollection["DepartureTime"])) ? new TimeSpan() : DateTime.ParseExact(Convert.ToString(formCollection["DepartureTime"]), "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay; dbatquote.ReturnTime = string.IsNullOrEmpty(Convert.ToString(formCollection["ReturnTime"])) ? new TimeSpan() : DateTime.ParseExact(Convert.ToString(formCollection["ReturnTime"]), "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay; dbatquote.Amount = atquote.Amount; dbatquote.DepartureDate = atquote.DepartureDate; dbatquote.ReturnDate = atquote.ReturnDate; dbatquote.DestinationID = atquote.DestinationID; dbatquote.OriginID = atquote.OriginID; dbatquote.TicketClass = atquote.TicketClass; dbatquote.TicketNo = atquote.TicketNo; dbatquote.IsDeleted = false; dbatquote.IsActive = true; dbatquote.IsLowest = atquote.IsLowest; db.ATQuotation.Attach(dbatquote); var entry = db.Entry(dbatquote); entry.Property(a => a.Airlines).IsModified = true; entry.Property(a => a.Amount).IsModified = true; entry.Property(a => a.DepartureDate).IsModified = true; entry.Property(a => a.DepartureTime).IsModified = true; entry.Property(a => a.DestinationID).IsModified = true; entry.Property(a => a.ReturnDate).IsModified = true; entry.Property(a => a.ReturnTime).IsModified = true; entry.Property(a => a.OriginID).IsModified = true; entry.Property(a => a.QuotationID).IsModified = true; entry.Property(a => a.TicketClass).IsModified = true; entry.Property(a => a.TicketNo).IsModified = true; entry.Property(a => a.IsDeleted).IsModified = true; entry.Property(a => a.IsActive).IsModified = true; entry.Property(a => a.IsLowest).IsModified = true; db.SaveChanges(); return(RedirectToAction("AddQuotation", new { id = dbatquote.Quotation.RFQID })); } } else { using (BTCEntities db = new BTCEntities()) { atquote.Quotation = db.Quotation.Where(a => a.ID == atquote.QuotationID).FirstOrDefault(); } 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(); TempData["ATQuotationVal"] = atquote; } return(RedirectToAction("AddATQuotation", new { quoteid = atquote.QuotationID })); }
public ActionResult PreviewRFQ(RFQ rfq) { using (BTCEntities db = new BTCEntities()) { if (ModelState.IsValid) { var dbrfq = db.RFQ.Find(rfq.ID); dbrfq.Processing = (int)ProcessingStatus.BeingProcessed; dbrfq.UserID = dbuser.ID; dbrfq.Remarks = rfq.Remarks; dbrfq.IsDeleted = rfq.IsDeleted; db.RFQ.Attach(dbrfq); var entry = db.Entry(dbrfq); entry.State = EntityState.Modified; entry.Property(a => a.Remarks).IsModified = true; entry.Property(a => a.UserID).IsModified = true; entry.Property(a => a.Processing).IsModified = true; entry.Property(a => a.IsDeleted).IsModified = true; db.SaveChanges(); Quotation quote = new Quotation { TravelRequestID = (int)dbrfq.TravelRequestID, IsDeleted = true, RFQID = rfq.ID }; db.Quotation.Add(quote); db.SaveChanges(); db.Configuration.ValidateOnSaveEnabled = false; var travelreq = db.TravelRequests.Where(a => a.ID == rfq.TravelRequestID).FirstOrDefault(); ATQuotation ATquote = new ATQuotation() { QuotationID = quote.ID, QuotationName = travelreq.ApplicationNumber + " / AT - Q", City = travelreq.City, City1 = travelreq.City1, DepartureDate = travelreq.DepartureDate, DepartureTime = travelreq.DepartureTime, DestinationID = travelreq.City.ID, OriginID = travelreq.City1.ID, ReturnDate = travelreq.ReturnDate, ReturnTime = travelreq.ReturnTime, TicketClass = travelreq.TicketClass, IsActive = false, IsDeleted = false }; db.ATQuotation.Add(ATquote); HSQuotation HSquote = new HSQuotation() { QuotationID = quote.ID, QuotationName = db.TravelRequests.Where(a => a.ID == rfq.TravelRequestID).FirstOrDefault().ApplicationNumber + " / HS - Q", CheckInDate = travelreq.CheckInDate, CheckInTime = travelreq.CheckInTime, CheckOutDate = travelreq.CheckOutDate, CheckOutTime = travelreq.CheckOutTime, HotelCategory = travelreq.HotelCategory, RoomCategory = travelreq.RoomCategory, RoomType = travelreq.RoomType, IsActive = false, IsDeleted = false }; db.HSQuotation.Add(HSquote); PCQuotation PCquote = new PCQuotation() { QuotationID = quote.ID, QuotationName = db.TravelRequests.Where(a => a.ID == rfq.TravelRequestID).FirstOrDefault().ApplicationNumber + " / PC - Q", DropOffDate = travelreq.DropOffDate, DropoffLocation = travelreq.DropOffLocation, DropOffTime = travelreq.DropOffTime, PickUpDate = travelreq.PickUpDate, PickupLocation = travelreq.PickUpLocation, PickUpTime = travelreq.PickUpTime, PreferredVehicle = travelreq.PreferredVehicle, IsActive = false, IsDeleted = false }; db.PCQuotation.Add(PCquote); db.SaveChanges(); MasterRFQ = dbrfq; return(RedirectToAction("RFQPostMerger", new { id = rfq.TravelRequestID })); } 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(); RFQ rfqitem = db.RFQ.Include(a => a.TravelRequests).Include(a => a.TravelAgency).Include(a => a.Users).Where(a => a.ID == rfq.ID).FirstOrDefault(); 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)); } }