示例#1
0
        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));
            }
        }
示例#2
0
        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));
            }
        }
示例#3
0
        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));
            }
        }
示例#4
0
        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 }));
        }
示例#5
0
        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));
            }
        }