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; } }
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); } }
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); }
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)); } }