示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Customer c = CustomerBO.GetLoggedInCustomer();

        if (Request.Params.Get("withdrawbid") != null)
        {
            EmptyLegOffer elo = BookRequestDAO.FindEmptyLegOfferByID(Int64.Parse(Request.Params.Get("eloid")));
            if (elo.Customer.Equals(c))
            {
                elo.Status = 2;
                BookRequestDAO.MakePersistent(elo);
                EmailBO em = new EmailBO("EmptyLegOfferWithdrawNotificationToOperator", Session["Country"].ToString());
                em.SendEmailToOperator(elo.EmptyLeg.Aircraft.Vendor);
                Response.Redirect("EmptyLeg.aspx?eid=" + elo.EmptyLeg.ID);
            }
        }
        if (Request.Params.Get("withdrawaccepted") != null)
        {
            EmptyLeg el = BookRequestDAO.FindEmptyLegByID(Int64.Parse(Request.Params.Get("eid")));
            if (el.AcceptedOffer.Customer.Equals(c))
            {
                el.AcceptedOffer.Status = 2;
                BookRequestDAO.MakePersistent(el.AcceptedOffer);
                el.AcceptedOffer = null;
                BookRequestDAO.MakePersistent(el);
                EmailBO em = new EmailBO("EmptyLegAcceptedWithdrawNotificationToOperator", Session["Country"].ToString());
                em.SendEmailToOperator(el.Aircraft.Vendor);

                Response.Redirect("EmptyLeg.aspx?eid=" + el.ID);
            }
        }
        if (Request.Params.Get("acceptoffer") != null)
        {
            EmptyLeg el = BookRequestDAO.FindEmptyLegByID(Int64.Parse(Request.Params.Get("eid")));
            if (el.AcceptedOffer == null)
            {
                EmptyLegOffer elo = new EmptyLegOffer();
                elo.EmptyLeg     = el;
                elo.Currency     = el.Currency;
                elo.Status       = 1;
                elo.TimeOfOffer  = DateTime.Now;
                el.AcceptedOffer = elo;
                elo.IsAgent      = false;
                elo.Customer     = CustomerBO.GetLoggedInCustomer();
                elo.BidAmount    = el.OfferPrice;
                elo.Agent        = null;
                BookRequestDAO.MakePersistent(elo);
                BookRequestDAO.MakePersistent(el);
                EmailBO em = new EmailBO("EmptyLegAcceptedOfferNotificationToOperator", Session["Country"].ToString());
                em.SendEmailToOperator(el.Aircraft.Vendor);
                Response.Redirect("EmptyLeg.aspx?eid=" + el.ID);
            }
            else
            {
                Error.InnerHtml = "* Sorry this empty leg offer have already been accepted.";
            }
        }
        else if (Request.Params.Get("savebidbtn") != null)
        {
            EmptyLeg el = BookRequestDAO.FindEmptyLegByID(Int64.Parse(Request.Params.Get("eid")));
            if (el.OfferPrice <= Double.Parse(Request.Params.Get("bidamount")))
            {
                Error.InnerHtml = "* Bid amount should be less than operator offered price.";
            }
            else if (el.AcceptedOffer != null)
            {
                Error.InnerHtml = "* Sorry this empty leg offer have already been accepted.";
            }
            else
            {
                EmptyLegOffer elo = new EmptyLegOffer();
                elo.EmptyLeg    = el;
                elo.Currency    = el.Currency;
                elo.Status      = 1;
                elo.TimeOfOffer = DateTime.Now;
                elo.IsAgent     = false;
                elo.Customer    = c;
                elo.BidAmount   = Double.Parse(Request.Params.Get("bidamount"));
                elo.Agent       = null;
                BookRequestDAO.MakePersistent(elo);
                EmailBO em = new EmailBO("EmptyLegOfferNotificationToOperator", Session["Country"].ToString());
                em.SendEmailToOperator(el.Aircraft.Vendor);
                em = new EmailBO("EmptyLegOfferThanksToCustomer", Session["Country"].ToString());
                if (!elo.IsAgent)
                {
                    em.SendEmailToCustomer(elo.Customer);
                }

                ListSet othercust = new ListSet();

                foreach (EmptyLegOffer eloc in BookRequestDAO.GetEmptyLegBids(el))
                {
                    if (eloc.IsAgent)
                    {
                        othercust.Add(eloc.Agent.Email.Trim());
                    }
                    else
                    {
                        othercust.Add(eloc.Customer.Email.Trim());
                    }
                }
                if (elo.IsAgent)
                {
                    othercust.Remove(elo.Agent.Email.Trim());
                }
                else
                {
                    othercust.Remove(elo.Customer.Email.Trim());
                }

                ArrayList tempemail = new ArrayList(othercust);
                if (tempemail.Count > 0)
                {
                    em = new EmailBO("EmptyLegOfferNotificationToOtherCustomers", Session["Country"].ToString());
                    em.SendEmailToList(tempemail);
                }
                Response.Redirect("EmptyLeg.aspx?eid=" + el.ID);
            }
        }
    }
示例#2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Int32       nooflegs   = Int32.Parse(Request.Params.Get("nooflegs"));
            BookRequest b          = new BookRequest();
            Customer    check      = CustomerBO.GetLoggedInCustomer();
            Agent       agentcheck = AgentBO.GetLoggedInAgent();

            b.IsAgent = false;
            Contact c = new Contact();
            if (check != null)
            {
                c.Name  = check.Name;
                c.Email = check.Email;
                c.Phone = check.ContactNo;
            }
            else
            {
                c.Name  = Request.Params.Get("Name");
                c.Email = Request.Params.Get("Email");
                c.Phone = Request.Params.Get("ContactNo");


                if (agentcheck != null)
                {
                    b.IsAgent = true;
                    b.Agent   = agentcheck;
                }
                else if (Session["AgentID"] != null)
                {
                    b.IsAgent = true;
                    Agent a = AgentDAO.FindAgentByID((long)Session["AgentID"]);
                    b.Agent = a;
                }
                else
                {
                    Customer custemail = CustomerDAO.CheckCustomerByEmail(Request.Params.Get("Email"));
                    if (custemail == null)
                    {
                        Customer cust = new Customer();
                        cust.Email     = Request.Params.Get("Email");;
                        cust.ContactNo = Request.Params.Get("ContactNo");
                        cust.Name      = Request.Params.Get("Name");
                        cust.Password  = CustomerBO.GeneratePassword();
                        cust.Status    = 1;
                        CustomerDAO.MakePersistent(cust);
                        check = cust;
                        EmailBO em = new EmailBO("NewCustomer", Session["Country"].ToString());
                        em.SendEmailToCustomer(check);
                    }
                    else
                    {
                        check = custemail;
                    }
                }
            }
            if (Request.Params.Get("fixedpricecharter") != null)
            {
                FixedPriceCharter el = BookRequestDAO.FindFixedPriceCharterByID(Int64.Parse(Request.Params.Get("fixedpricecharter")));
                b.FixedPriceCharter = el;
            }
            c.Description    = Request.Params.Get("OtherDetails");
            b.PAX            = Int32.Parse(Request.Params.Get("PAX"));
            b.Budget         = Double.Parse(Request.Params.Get("budget"));
            b.FinalBudget    = BookRequestBO.GetFinalBudget(b.Budget, AdminBO.GetCountry());
            b.ContactDetails = c;
            b.TimeofCreation = DateTime.Now;
            b.TripType       = Request.Params.Get("TripType");
            AirplaneType apt = OperatorDAO.FindAircraftTypeByID(Request.Params.Get("aircrafttype"));
            b.PlaneType = apt;
            b.Status    = 0;
            b.Domain    = AdminDAO.GetCountryByID(Session["Country"].ToString());
            for (int i = 1; i <= nooflegs; i++)
            {
                Leg l = new Leg();
                l.Sequence = i;
                ListSet fromairfields = AirfieldBO.GetAirfields(Request.Params.Get("fromleg" + i));
                ListSet toairfields   = AirfieldBO.GetAirfields(Request.Params.Get("toleg" + i));

                foreach (Airfield a in fromairfields)
                {
                    if (l.Source == null)
                    {
                        l.Source = a;
                    }
                }
                if (l.Source.IsTemporary())
                {
                    l.Source = AirfieldBO.SaveAirfield(l.Source);
                }
                foreach (Airfield a in toairfields)
                {
                    if (l.Destination == null)
                    {
                        l.Destination = a;
                    }
                }
                if (l.Destination.IsTemporary())
                {
                    l.Destination = AirfieldBO.SaveAirfield(l.Destination);
                }
                l.Date = DateTime.Parse(Request.Params.Get("dateleg" + i) + " " + Request.Params.Get("timeleg" + i));
                b.AddLeg(l);
            }

            b = BookRequestBO.AcceptBookRequest(b);
            if (b.FixedPriceCharter == null)
            {
                OperatorResolver opr = new OperatorResolver(OperatorBO.OperatorResolve);
                opr.BeginInvoke(b, null, null);
            }
            else
            {
                EmailBO em = new EmailBO("FixedPriceCharterNotificationToOperator", Session["Country"].ToString());
                em.SendEmailToOperator(b.FixedPriceCharter.Aircraft.Vendor);
            }
            if (b.IsAgent)
            {
                EmailBO em = new EmailBO("AgentThanksRequest", Session["Country"].ToString());
                em.SendEmailToAgent(b.Agent);
            }
            else
            {
                EmailBO em = new EmailBO("CustomerThanksRequest", Session["Country"].ToString());
                em.SendEmailToCustomer(check);
            }
            Session.Add("bid", b.BookID);
        }
        catch (AifieldNotFoundException ax)
        {
            Response.Redirect(Request.UrlReferrer.OriginalString + "?" + Serialize(Request.QueryString));
        }
        catch (Exception ex)
        {
            Response.Redirect("QuickQuote.aspx");
        }
        Response.Redirect("RequestSent.aspx");
    }