本文整理汇总了C#中BootstrapVillas.Models.PortugalVillasContext.SaveChanges方法的典型用法代码示例。如果您正苦于以下问题:C# PortugalVillasContext.SaveChanges方法的具体用法?C# PortugalVillasContext.SaveChanges怎么用?C# PortugalVillasContext.SaveChanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BootstrapVillas.Models.PortugalVillasContext
的用法示例。
在下文中一共展示了PortugalVillasContext.SaveChanges方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
public ActionResult Create(PropertyTown propertytown)
{
if (ModelState.IsValid)
{
using (var _db = new PortugalVillasContext())
{
_db.PropertyTowns.Add(propertytown);
_db.SaveChanges();
ViewBag.PropertyRegionID = new SelectList(db.PropertyRegions, "PropertyRegionID", "RegionName",
propertytown.PropertyRegionID);
return RedirectToAction("Edit", new {id = propertytown.PropertyTownID});
}
}
ViewBag.PropertyRegionID = new SelectList(db.PropertyRegions, "PropertyRegionID", "RegionName", propertytown.PropertyRegionID);
return View(propertytown);
}
示例2: CreateBookingExtraParticipant
public ActionResult CreateBookingExtraParticipant(BookingExtraParticipant bookingExtraParticipant, string submitBookingExtraPart)
{
PortugalVillasContext db = new PortugalVillasContext();
if (ModelState.IsValid)
{
GeneralStaticHelperMethods.IsPersonAdultChildOrInfant(bookingExtraParticipant);
//need to assign the booking ID
BookingExtraSelection currentSelection = (BookingExtraSelection)Session["CurrentBookingExtraDataGathering"];
bookingExtraParticipant.BookingExtraSelectionID = currentSelection.BookingExtraSelectionID;
db.BookingExtraParticipants.Add(bookingExtraParticipant);
db.SaveChanges();
//check they're under 18 or whatever then make them an infant, or child if they're the corresponsing age
//is infant
//is child
if (submitBookingExtraPart.Equals("Add this participant and add another"))
{
return RedirectToAction("CreateBookingExtraParticipant");
}
}
return RedirectToAction("DetailGatheringEventChain");
}
开发者ID:Weissenberger13,项目名称:web.portugalrentalcottages,代码行数:29,代码来源:FinalBookingDetailGatheringController.cs
示例3: CreateCustomerBankDetail
public CustomerBankDetail CreateCustomerBankDetail(CustomerBankDetail customerBankDetail, Customer customer, PortugalVillasContext db)
{
customer.CustomerID = customer.CustomerID;
db.CustomerBankDetails.Add(customerBankDetail);
//whack it in the session
if (db.SaveChanges() > 0)
{
//customer now has an ID if the save has worked
}
return customerBankDetail;
}
开发者ID:Weissenberger13,项目名称:web.portugalrentalcottages,代码行数:16,代码来源:FinalBookingDetailGatheringController.cs
示例4: CreateBookingExtraSelection
public BookingExtraSelection CreateBookingExtraSelection(BookingExtraSelection bookingExtraSelection, BookingExtra extra, Customer theCustomer, PortugalVillasContext db)
{
bookingExtraSelection.BESCurrencyConversionSymbol = theCustomer.PreferredCurrencySymbol;
bookingExtraSelection.BESPreferredCurrency = theCustomer.PreferredCurrency;
var cc = new CurrencyConverterController();
long? currentBookingTypeID = bookingExtraSelection.GetBookingExtraTypeIDFromBookingExtraSelection();
bookingExtraSelection.CustomerID = theCustomer.CustomerID;
//the price already needs to be assigned
bookingExtraSelection.BESPrice = BookingExtraSelection.GetBookingExtraPrice(bookingExtraSelection, db);
bookingExtraSelection.BESExtraServicesPrice = BookingExtraSelection.CalculateBookingExtraAdditionalCostsAndAssignToThisBooking(bookingExtraSelection, db);
bookingExtraSelection.BESTotalServicesPrice = BookingExtraSelection.GetBookingExtraTotalServicesPrice(bookingExtraSelection, db);
bookingExtraSelection.WhenCreated = DateTime.Now;
//calc number of guests
if (bookingExtraSelection.NumberOfGuests == null || bookingExtraSelection.NumberOfGuests == 0)
{
bookingExtraSelection.CalculateNoOfGuests();
}
//if not UK need to do currency conversion
if (theCustomer.Country.ToLower() != "united kingdom" && ConfigurationManager.AppSettings["defaultCurrency"] == "GBP")
{
var baseCurrency = "GBP";
var newCurrency = "EUR";
var exchangeRateFromDB =
db.CurrencyExchanges.First(x => x.CurrencyExchangeName == "GBP-EUR");
try
{
bookingExtraSelection.BESPrice = cc.ConvertCurrency(baseCurrency, newCurrency, (decimal)bookingExtraSelection.BESPrice);
bookingExtraSelection.BESCurrencyConversionPrice = bookingExtraSelection.BESPrice;
bookingExtraSelection.BESExtraServicesPrice = cc.ConvertCurrency(baseCurrency, newCurrency, (decimal)bookingExtraSelection.BESExtraServicesPrice);
bookingExtraSelection.BESTotalServicesPrice = cc.ConvertCurrency(baseCurrency, newCurrency, (decimal)bookingExtraSelection.BESTotalServicesPrice);
//set exchange rate
bookingExtraSelection.BESCurrencyConversionSymbol = exchangeRateFromDB.CurrencyExchangeSymbol;
bookingExtraSelection.BESCurrencyExchangeRate = exchangeRateFromDB.CurrencyExchangeRate;
bookingExtraSelection.BESPreferredCurrency = "EUR";
}
catch (Exception)
{
throw;
}
}
else if (ConfigurationManager.AppSettings["defaultCurrency"] == "USD")
{
var baseCurrency = "GBP";
var newCurrency = "USD";
var exchangeRateFromDB =
db.CurrencyExchanges.First(x => x.CurrencyExchangeName == "GBP-USD");
try
{
bookingExtraSelection.BESPrice = cc.ConvertCurrency(baseCurrency, newCurrency, (decimal)bookingExtraSelection.BESPrice);
bookingExtraSelection.BESCurrencyConversionPrice = bookingExtraSelection.BESPrice;
bookingExtraSelection.BESExtraServicesPrice = cc.ConvertCurrency(baseCurrency, newCurrency, (decimal)bookingExtraSelection.BESExtraServicesPrice);
bookingExtraSelection.BESTotalServicesPrice = cc.ConvertCurrency(baseCurrency, newCurrency, (decimal)bookingExtraSelection.BESTotalServicesPrice);
//set exchange rate
bookingExtraSelection.BESCurrencyConversionSymbol = exchangeRateFromDB.CurrencyExchangeSymbol;
bookingExtraSelection.BESCurrencyExchangeRate = exchangeRateFromDB.CurrencyExchangeRate;
bookingExtraSelection.BESPreferredCurrency = "USD";
}
catch (Exception)
{
throw;
}
}
//generate reference
var refGenService = new ReferenceGenerationService();
bookingExtraSelection.BookingExtraPRCReference = refGenService.GenerateBESReference(bookingExtraSelection, extra);
if (ModelState.IsValid)
{
db.BookingExtraSelections.Add(bookingExtraSelection);
if (db.SaveChanges() > 0)
{
//generate reference with ID
bookingExtraSelection.BookingExtraPRCReference = refGenService.GenerateBESReference(bookingExtraSelection, extra);
db.Entry(bookingExtraSelection).State = EntityState.Modified;
db.SaveChanges();
//.........这里部分代码省略.........
开发者ID:Weissenberger13,项目名称:web.portugalrentalcottages,代码行数:101,代码来源:FinalBookingDetailGatheringController.cs
示例5: Edit
public ActionResult Edit(PropertyRegion propertyregion)
{
if (ModelState.IsValid)
{
using (var _db = new PortugalVillasContext())
{
_db.PropertyRegions.Attach(propertyregion);
_db.Entry(propertyregion).State = EntityState.Modified;
_db.SaveChanges();
return RedirectToAction("Edit", new { id = propertyregion.PropertyRegionID });
}
}
return View(propertyregion);
}
示例6: TestBookingSteps
public ActionResult TestBookingSteps(Customer cus, CustomerBankDetail bank, List<Booking> bookings = null, List<BookingExtraSelection> bookingExtraSelections = null, List<BookingParticipant> bookingParticipants = null)
{
Session["prc_customer"] = new Customer();
using (var db = new PortugalVillasContext())
{
var eventService = new EventController();
var bookingRepo = new FinalBookingDetailGatheringController();
//CUSTOMER
//does customer have ID? if not create new Customer
if (cus.CustomerID.Equals(0))
{
bookingRepo.CreateCustomer(cus, db);
}
else
{
//update customer with new details
/*cus.BookingExtraSelections = null;
cus.Bookings = null;
cus.CreationDate = cus.CreationDate;
db.Customers.Attach(cus);
db.Entry(cus).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (OptimisticConcurrencyException)
{
}
*/
}
//BANK DETAIL
if (bank.CustomerBankDetailID.Equals(0))
{
bookingRepo.CreateCustomerBankDetail(bank, cus, db);
}
else
{
//update customer with new details
db.CustomerBankDetails.Attach(bank);
db.Entry(bank).State = EntityState.Modified;
db.SaveChanges();
}
//////////////////
//BOOKING
//create a parent booking thingy and link it
BookingParentContainer parentContainer = new BookingParentContainer();
parentContainer.CustomerID = cus.CustomerID;
parentContainer = bookingRepo.CreateBookingParentContainer(parentContainer, db);
foreach (var booking in bookings)
{ //link to parent booking
booking.BookingParentContainerID = parentContainer.BookingParentContainerID;
//fill em out and push them to the DB
/* bookingRepo.CreateBooking(booking, cus, db);*/
var participantsThisRound =
bookingParticipants.Where(x => x.StepNo.Equals(bookingParticipants.Min(y => y.StepNo))).ToList();
//create the participants
foreach (var bookingParticipant in participantsThisRound)
{
if (bookingParticipant.BookingParticipantFirstName != "" && bookingParticipant.BookingParticipantFirstName != null
&& bookingParticipant.BookingParticipantLastName != "" &&
bookingParticipant.BookingParticipantLastName != null)
{
bookingRepo.CreateBookingParticipant(participantsThisRound, booking, db);
}
}
foreach (var bookingParticipant in participantsThisRound)
{
bookingParticipants.Remove(bookingParticipant);
}
//now check which booking form to send depending on location
string EventTypeID;
if (cus.Country.ToUpper() == "GB")
{
EventTypeID = "17";
//.........这里部分代码省略.........
示例7: TestFullDocumentGenerateStack
//.........这里部分代码省略.........
//TEST WITH CUSTOMER
Customer aCustomer = db.Customers.Where(x => x.CustomerID == 1).FirstOrDefault();
//TEST WITH BES
var bes = db.BookingExtraSelections.Where(x => x.BookingExtraSelectionID == 3).First();
bes.BookingExtraID = 1;
//set up vars
var type = PRCDocument.PRCDocumentType.UK_WineTasting;
//create event - need to give it type thus name
var anEvent = new Event();
anEvent.Documents = new List<Document>();
//TEST ADD ID - PLEASE REMOVE
anEvent.EventID = 2;
//END TEST CODE
anEvent.WhenCreated = DateTime.Now;
var commandsAndResultsToLog = new List<EventCommand>();
//create correct command
//doc
//email out with doc
EventCommandCreateDocument createDocCommand;
EventCommandSendEmail sendEmail;
//HOW DO WE DECIDE WHAT TYPE OF EVENT WE WANT??? depends on type??
if (booking != null)
{
createDocCommand = new EventCommandCreateDocument(anEvent, aCustomer, type, booking);
/* sendEmail = new EventCommandSendEmail(anEvent, aCustomer, booking);*/
}
else
{
createDocCommand = new EventCommandCreateDocument(anEvent, aCustomer, type, null, bes);
/*/sendEmail = new EventCommandSendEmail(anEvent, aCustomer, null, bes);*/
}
//create all commands
anEvent.EventCommands.Add(createDocCommand);
/* anEvent.EventCommands.Add(sendEmail);*/
//create document using executes
var result = new EventCommandResult();
foreach (var command in anEvent.EventCommands)
{
command.EventCommandResults.Add(command.ExecuteCommand());
commandsAndResultsToLog.Add(command);
}
//render
//save to DB with all correct commands etc
var EventCommandLogger = new CommandLogger(db);
var eventLogger = new EventLogger(db, EventCommandLogger);
//save event
eventLogger.LogEvent(anEvent);
//save eventcoomand and result
foreach (var commandAndResult in commandsAndResultsToLog)
{
EventCommandLogger.Log(anEvent.EventID, commandAndResult);
}
//save document generated
//NEED TO ADD CORRECT PARAMS (which are what??)
//if there's any docs, write them to the DB
foreach (var doc in anEvent.Documents)
{
doc.EventID = anEvent.EventID;
doc.DocumentDescription = type.ToString();
doc.EmailTo = aCustomer.EmailAddress;
doc.CustomerID = aCustomer.CustomerID;
db.Documents.Add(doc);
db.SaveChanges();
}
}
示例8: Edit
public ActionResult Edit(BookingParticipant bookingparticipant)
{
var oldPart = db.BookingParticipants.Where(x => x.BookingParticipantID == bookingparticipant.BookingParticipantID).FirstOrDefault();
bookingparticipant.BookingParticipantWhenCreated = oldPart.BookingParticipantWhenCreated;
if (ModelState.IsValid)
{
using (var _db = new PortugalVillasContext())
{
_db.BookingParticipants.Attach(bookingparticipant);
_db.Entry(bookingparticipant).State = EntityState.Modified;
_db.SaveChanges();
return RedirectToAction("Index", "BookingParticipant", new { bookingID = bookingparticipant.BookingID });
}
}
ViewBag.BookingID = new SelectList(db.Bookings, "BookingID", "BookingPRCReference", bookingparticipant.BookingID);
return View(bookingparticipant);
}
示例9: CreateCustomerAsPartOfSignUp
//
// POST: /FinalBookingDetailGathering/Create
public bool CreateCustomerAsPartOfSignUp(Customer customer)
{
PortugalVillasContext db = new PortugalVillasContext();
if (ModelState.IsValid)
{
//CHECK IF THERE'S ALREADY A CUSTOMER WITH THIS EMAIL ADDRESS FIRST!!!
//end check
//CHECK we ain't got anything for this customer in the Sessions already
//end check
//if not, add customer
//set up fields
customer.CreationDate = DateTime.Now;
if (customer.Country.ToLower() == "united kingdom")
{
customer.PreferredCurrency = "GBP";
customer.PreferredCurrencySymbol = "£";
}
else
{
customer.PreferredCurrency = "EUR";
customer.PreferredCurrencySymbol = "€";
}
//end
db.Customers.Add(customer);
if (db.SaveChanges() > 0)
{
//customer now has an ID if the save has worked
System.Web.HttpContext.Current.Session["prc_customer"] = customer;
return true;
}
}
return false;
}
开发者ID:Weissenberger13,项目名称:web.portugalrentalcottages,代码行数:54,代码来源:FinalBookingDetailGatheringController.cs
示例10: Edit
public ActionResult Edit(BookingExtra bookingextra)
{
var oldExtra = db.BookingExtras.Where(x => x.BookingExtraID == bookingextra.BookingExtraID).First();
bookingextra.WhenCreated = oldExtra.WhenCreated;
bookingextra.WhenModified = oldExtra.WhenModified;
if (ModelState.IsValid)
{
using (var _db = new PortugalVillasContext())
{
_db.BookingExtras.Attach(bookingextra);
_db.Entry(bookingextra).State = EntityState.Modified;
_db.SaveChanges();
ViewBag.BookingExtraTypeID = new SelectList(db.BookingExtraTypes, "BookingExtraTypeID",
"ExtraTypeName", bookingextra.BookingExtraTypeID);
return RedirectToAction("SingleBookingExtraIndex", "BookingExtra",
new {bookingextraID = bookingextra.BookingExtraID});
}
}
ViewBag.BookingExtraTypeID = new SelectList(db.BookingExtraTypes, "BookingExtraTypeID", "ExtraTypeName", bookingextra.BookingExtraTypeID);
return View(bookingextra);
}
示例11: AddCustomerBankDetail
public ActionResult AddCustomerBankDetail(CustomerBankDetail aCustomerBankDetail)
{
try
{
//customer must be logged in to do this - get logged in customer and assign the ID to the bank detail
Customer customer = GetCustomerForLoggedInCustomerAndStoreInSession(HttpContext.User.Identity.Name);
aCustomerBankDetail.CustomerID = customer.CustomerID;
PortugalVillasContext _dbContext = new PortugalVillasContext();
if (ModelState.IsValid)
{
_dbContext.CustomerBankDetails.Add(aCustomerBankDetail);
if (_dbContext.SaveChanges() > 0) ;
{
return View("CustomerUpdateSuccess");
}
}
}
catch (Exception)
{
throw;
}
return View("CustomerUpdateFailed");
}
示例12: ManageCustomer
// [Authorize(Roles = "Administrator, User")]
public ActionResult ManageCustomer(Customer customer)
{
Customer previousCustomer = (Customer)Session["prc_previouscustomer"];
customer.CustomerID = previousCustomer.CustomerID;
if ((!CheckIfCustomerEmailAlreadyExists(customer.EmailAddress) &&
!CheckIfUserExistsInSimpleMemberProvider(customer.EmailAddress)) || (previousCustomer.EmailAddress.ToLower().Trim() == customer.EmailAddress.ToLower().Trim()))
{
PortugalVillasContext _dbContext = new PortugalVillasContext();
UsersContext _usersContext = new UsersContext();
//get the old customer detailf from the session
//update simplemembership provider too
var user =
_usersContext.UserProfiles.Where(
x => x.UserName.ToLower().Trim() == previousCustomer.EmailAddress.ToLower().Trim())
.FirstOrDefault();
user.UserName = customer.EmailAddress;
//update customer and user
try
{
if (ModelState.IsValid)
{
_dbContext.Entry(customer).State = EntityState.Modified;
var objContext = ((IObjectContextAdapter)_dbContext).ObjectContext;
var refreshableObjects = (from entry in objContext.ObjectStateManager.GetObjectStateEntries(
EntityState.Added
| EntityState.Deleted
| EntityState.Modified
| EntityState.Unchanged)
where entry.EntityKey != null
select entry.Entity);
objContext.Refresh(RefreshMode.ClientWins, refreshableObjects);
//if it works, do the update for the userContext, else, don't as it failed
if (objContext.SaveChanges() > 0)
{
_usersContext.Entry(user).State = EntityState.Modified;
_usersContext.SaveChanges();
WebSecurity.Logout();
Session["prc_customer"] = customer;
//update the customer
return View("CustomerUpdateSuccess");
}
}
}
catch
(DbUpdateConcurrencyException ex)
{
var objContext = ((IObjectContextAdapter)_dbContext).ObjectContext;
var entry = ex.Entries.Single();
objContext.Refresh(RefreshMode.ClientWins, entry.Entity);
_dbContext.SaveChanges();
}
}
//update the customer on result
ViewBag.Title = "Manage Portugal Holiday Rentals Customer";
return View("CustomerUpdateFailed");
}
示例13: Edit
public ActionResult Edit(Booking booking)
{
var oldbook = db.Bookings.Where(x => x.BookingID == booking.BookingID).FirstOrDefault();
booking.CreationDate = oldbook.CreationDate;
booking.LastUpdated = oldbook.LastUpdated;
if (ModelState.IsValid)
{
using (var _db = new PortugalVillasContext())
{
_db.Bookings.Attach(booking);
_db.Entry(booking).State = EntityState.Modified;
_db.SaveChanges();
ViewBag.BookingParentContainerID = new SelectList(db.BookingParentContainers,
"BookingParentContainerID", "OverallBookingReference", booking.BookingParentContainerID);
ViewBag.CustomerID = new SelectList(db.Customers, "CustomerID", "Title", booking.CustomerID);
ViewBag.PropertyID = new SelectList(db.Properties, "PropertyID", "LegacyReference",
booking.PropertyID);
return View("SingleBookingIndex", db.Bookings.Include(x => x.Customer).FirstOrDefault(x => x.BookingID == booking.BookingID));
}
}
ViewBag.BookingParentContainerID = new SelectList(db.BookingParentContainers, "BookingParentContainerID", "OverallBookingReference", booking.BookingParentContainerID);
ViewBag.CustomerID = new SelectList(db.Customers, "CustomerID", "Title", booking.CustomerID);
ViewBag.PropertyID = new SelectList(db.Properties, "PropertyID", "LegacyReference", booking.PropertyID);
return View("SingleBookingIndex", db.Bookings.Include(x => x.Customer).FirstOrDefault(x => x.BookingID == booking.BookingID));
}
示例14: Edit
public ActionResult Edit(PropertyOwnerRepresentative propertyownerrepresentative)
{
if (ModelState.IsValid)
{
using (var _db = new PortugalVillasContext())
{
_db.PropertyOwnerRepresentatives.Attach(propertyownerrepresentative);
_db.Entry(propertyownerrepresentative).State = EntityState.Modified;
_db.SaveChanges();
return RedirectToAction("Edit", new {id = propertyownerrepresentative.PropertyOwnerRepresentativeID});
}
}
return View(propertyownerrepresentative);
}
开发者ID:Weissenberger13,项目名称:web.portugalrentalcottages,代码行数:14,代码来源:PropertyOwnerRepresentativeController.cs
示例15: CreateBooking
//insert a booking
private static bool CreateBooking(Booking aBooking)
{
PortugalVillasContext _db = new PortugalVillasContext();
_db.Bookings.Add(aBooking);
if (_db.SaveChanges() > 0)
{
return true;
};
return false;
}