コード例 #1
0
        public IHttpActionResult UpdateEvent_Fk(int soldActivityID, int new_event_fk)
        {
            try
            {
                SoldActivity soldActivity = db.SoldActivities.Find(soldActivityID);
                soldActivity.event_fk = new_event_fk;
                db.SaveChanges();
                return(Ok("{}"));
            }
            catch (Exception ex)
            {
                Exception rootEx = ex.GetBaseException();
                return(Content(HttpStatusCode.InternalServerError, rootEx.Message));

                throw;
            }
        }
コード例 #2
0
        private void AddSaleEvents(Sale sale)
        {
            var activities = from a in db.Activities
                             join b in db.Rel_product_activity on a.ID equals b.activity_fk
                             where b.product_fk == sale.product_fk
                             select a;

            foreach (var activity in activities)
            {
                SoldActivity saleEvent = new SoldActivity();
                saleEvent.Sale        = sale;
                saleEvent.PNR         = sale.PNR;
                saleEvent.agency_fk   = sale.agency_fk;
                saleEvent.date_update = sale.date_update;
                saleEvent.canceled    = sale.canceled;
                saleEvent.activity_fk = activity.ID;
                saleEvent.event_fk    = 0;
                db.SoldActivities.Add(saleEvent);
            }
        }
コード例 #3
0
ファイル: CsvUpload.cs プロジェクト: yuvalp01/HolaLogistics
    public Result updateTables(string fieldsStr, int rowIndex, string agency_fk, string hotel_fk)
    {
        Result result     = new Result();
        Client client_new = new Client();

        try
        {
            using (HolaShalomDBEntities db = new HolaShalomDBEntities())
            {
                client_new = getClientObj(fieldsStr);

                if ((client_new.num_dep != "" && client_new.date_dep == null) || (client_new.num_dep == "" && client_new.date_dep != null))
                {
                    result.status  = "danger";
                    result.message = "It is impossible have a flight number without a flight date or vice versa. Please correct the csv file and try again.";
                    return(result);
                }

                client_new.hotel_fk    = int.Parse(hotel_fk);
                client_new.agency_fk   = int.Parse(agency_fk);
                client_new.date_update = DateTime.Now;

                db.Clients.Add(client_new);

                // Create sale object
                Sale sale_new = new Sale();
                sale_new.PNR          = client_new.PNR;
                sale_new.agency_fk    = client_new.agency_fk;
                sale_new.date_sale    = DateTime.Today;
                sale_new.date_update  = DateTime.Now;
                sale_new.canceled     = false;
                sale_new.persons      = client_new.PAX;
                sale_new.sale_type    = "External";
                sale_new.product_fk   = 1;
                sale_new.remained_pay = 0;

                db.Sales.Add(sale_new);



                var activities = from a in db.Activities
                                 join b in db.Rel_product_activity on a.ID equals b.activity_fk
                                 where b.product_fk == sale_new.product_fk
                                 select a;

                foreach (var activity in activities)
                {
                    SoldActivity saleEvent = new SoldActivity();
                    saleEvent.Sale        = sale_new;
                    saleEvent.PNR         = sale_new.PNR;
                    saleEvent.agency_fk   = sale_new.agency_fk;
                    saleEvent.date_update = sale_new.date_update;
                    saleEvent.canceled    = sale_new.canceled;
                    saleEvent.activity_fk = activity.ID;
                    saleEvent.event_fk    = 0;
                    db.SoldActivities.Add(saleEvent);
                }

                db.SaveChanges();
                result.status  = "success";
                result.message = String.Format("[Reservation <b>'[{0}] {1}'</b> was successfully inserted into the database.", client_new.PNR, client_new.names);
            }
        }
        catch (DbUpdateException ex)
        {
            SqlException ex_sql = ex.GetBaseException() as SqlException;
            if (ex_sql != null)
            {
                switch (ex_sql.Number)
                {
                case 547:
                    result.status  = "warning";
                    result.message = ex_sql.Message;     // "One of the flights does not exist in the system. Please enter the flights and try again.";
                    return(result);

                case 2627:
                    result.status  = "info";
                    result.message = String.Format("Reservation <b>[{0}] {1}</b> already exists in the system. No need to insert it again.", client_new.PNR, client_new.names);
                    return(result);

                default:
                    result.status  = "danger";
                    result.message = "SQL Exception: " + ex_sql.Message;
                    return(result);
                }
            }
            else
            {
                result.status  = "danger";
                result.message = "SQL Exception: " + ex_sql.Message;
            }
        }
        catch (Exception ex)
        {
            result.status  = "danger";
            result.message = "General Exception: " + ex.Message;
        }

        return(result);
    }
コード例 #4
0
        public IHttpActionResult PostBasicReservation([FromBody] ReservationDTO reservation)
        {
            if (reservation.PAX == 0)
            {
                throw new Exception("PAX cannot be zero");
            }
            Client client = new Client();

            try
            {
                //Create client object

                client.PNR         = reservation.PNR;
                client.agency_fk   = reservation.agency_fk;
                client.comments    = reservation.comments;
                client.date_arr    = reservation.date_arr;
                client.date_dep    = reservation.date_dep;
                client.hotel_fk    = reservation.hotel_fk;
                client.names       = reservation.names;
                client.num_arr     = reservation.num_arr;
                client.num_dep     = reservation.num_dep;
                client.PAX         = reservation.PAX;
                client.phone       = reservation.phone;
                client.date_update = DateTime.Now;
                client.canceled    = false;

                db.Clients.Add(client);
                //Create sale object:
                //all agencies except for Hola Shalom (100) are External. External clients already paid to the agency so remained_pay will always be 0
                string _sale_type = "Internal";
                if (client.agency_fk != 100)
                {
                    _sale_type = "External";
                    reservation.remained_pay = 0;
                }
                Sale sale = new Sale()
                {
                    PNR          = reservation.PNR,
                    agency_fk    = reservation.agency_fk,
                    product_fk   = reservation.product_fk,
                    remained_pay = reservation.remained_pay,
                    persons      = reservation.PAX,
                    sale_type    = _sale_type,
                    date_sale    = DateTime.Today,
                    date_update  = DateTime.Now,
                    canceled     = false
                };
                db.Sales.Add(sale);

                var activities = from a in db.Products
                                 join b in db.Rel_product_activity on a.ID equals b.product_fk
                                 join c in db.Activities on b.activity_fk equals c.ID
                                 where a.ID == reservation.product_fk
                                 select c;

                foreach (var activity in activities)
                {
                    SoldActivity sale_activity = new SoldActivity()
                    {
                        PNR         = reservation.PNR,
                        agency_fk   = reservation.agency_fk,
                        activity_fk = activity.ID,
                        Sale        = sale,
                        event_fk    = 0,
                        date_update = DateTime.Now,
                        canceled    = false,
                    };
                    db.SoldActivities.Add(sale_activity);
                }
                ;

                db.SaveChanges();
                return(Ok(client));
            }

            catch (Exception ex)
            {
                Exception    rootEx = ex.GetBaseException();
                SqlException sqleX  = rootEx as SqlException;
                if (sqleX != null)
                {
                    if (sqleX.Number == 2627)
                    {
                        string message = string.Format("The PNR <b>{0} (agency ID:{1})</b> already exists in the system.", client.PNR, client.agency_fk);
                        return(Content(HttpStatusCode.Conflict, message));
                    }
                }

                return(Content(HttpStatusCode.InternalServerError, rootEx.Message));
            }
        }