private async Task <CampingTripFull> GetCampingTripMembersAndDPGForAdmin(CampingTrip trip, bool getMembers = true) { var fullTrip = new CampingTripFull(trip); if (getMembers && trip.OrganizationType != TypeOfOrganization.orderByUser) { fullTrip.MembersOfCampingTrip = await GetCampingTripMembersAsync(trip.MembersOfCampingTrip); } if (trip.HasPhotographer && trip.PhotographerID != 0) { fullTrip.Photographer = await GetTripPhotographerAsync(trip.PhotographerID); } if (trip.DriverID != 0) { fullTrip.Driver = await GetTripDriverAsync(trip.DriverID); } if (trip.HasGuide && trip.GuideID != 0) { fullTrip.Guide = await GetTripGuideAsync(trip.GuideID); } if (trip.OrganzierID != 0) { fullTrip.Organizer = await GetUserAsync(trip.OrganzierID); } return(fullTrip); }
public async Task <ReplaceOneResult> UpdateCampingTrip(string id, CampingTripFull trip) { var tripNonFull = new CampingTrip(trip); return(await campingTripContext.CampingTrips .ReplaceOneAsync(n => n.ID.Equals(id), tripNonFull, new UpdateOptions { IsUpsert = true })); }
public async Task UpdateUserRegistredCampingTripAsync(string campingTripId, int orginizerId, CampingTripFull campingTrip) { var tripNonFull = new CampingTrip(campingTrip); await campingTripContext.CampingTrips .ReplaceOneAsync(n => n.ID.Equals(campingTripId) && n.OrganzierID == orginizerId, tripNonFull, new UpdateOptions { IsUpsert = true }); }
public ActionResult DeleteConfirmed(int id) { CampingTrip campingTrip = db.CampingTrips.Find(id); db.CampingTrips.Remove(campingTrip); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task AddCampingTripAsync(CampingTripFull item) { var trip = new CampingTrip(item); await campingTripContext.CampingTrips.InsertOneAsync(trip); item.ID = trip.ID; await SendingServiceRequestsAsync(item); }
public IActionResult Submit(CampingTrip trip) { if (ModelState.IsValid) { return(RedirectToAction("Success")); } else { ViewBag.Name = trip.Name; ViewBag.StartDate = trip.StartDate; return(View("Index")); } }
// GET: CampingTrips/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CampingTrip campingTrip = db.CampingTrips.Find(id); if (campingTrip == null) { return(HttpNotFound()); } return(View(campingTrip)); }
public ActionResult Edit([Bind(Include = "Id,CampingRouteId,TouristMinLevelId,InstructorId,ActivityTypeId,IsPlanned,StartDate,EndDate")] CampingTrip campingTrip) { if (ModelState.IsValid) { db.Entry(campingTrip).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ActivityTypeId = new SelectList(db.ActivityTypes, "Id", "Name", campingTrip.ActivityTypeId); ViewBag.CampingRouteId = new SelectList(db.CampingRoutes, "Id", "Description", campingTrip.CampingRouteId); ViewBag.InstructorId = new SelectList(db.Tourists, "Id", "Name", campingTrip.InstructorId); ViewBag.TouristMinLevelId = new SelectList(db.TouristLevels, "Id", "Name", campingTrip.TouristMinLevelId); return(View(campingTrip)); }
public void TotalExpenses_ShouldReturnTotalPerTrip_WhenValuesInList() { //act var campingTrip = new CampingTrip(2); campingTrip.Expenses.Add(new Expense(1, 0.50m)); campingTrip.Expenses.Add(new Expense(1, 0.5m)); campingTrip.Expenses.Add(new Expense(2, 1.50m)); campingTrip.Expenses.Add(new Expense(2, 99m)); //assert Assert.AreEqual(campingTrip.NumberOfPeople, 2); Assert.AreEqual(campingTrip.TotalExpenses, 101.5m); }
// GET: CampingTrips/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CampingTrip campingTrip = db.CampingTrips.Find(id); if (campingTrip == null) { return(HttpNotFound()); } ViewBag.ActivityTypeId = new SelectList(db.ActivityTypes, "Id", "Name", campingTrip.ActivityTypeId); ViewBag.CampingRouteId = new SelectList(db.CampingRoutes, "Id", "Description", campingTrip.CampingRouteId); ViewBag.InstructorId = new SelectList(db.Tourists, "Id", "Name", campingTrip.InstructorId); ViewBag.TouristMinLevelId = new SelectList(db.TouristLevels, "Id", "Name", campingTrip.TouristMinLevelId); return(View(campingTrip)); }
public void GetAmountOwedPerPerson_ShouldReturnTotalOwedByPerson_WhenValuesInList() { //act var campingTrip = new CampingTrip(3); campingTrip.Expenses.Add(new Expense(1, 10m)); campingTrip.Expenses.Add(new Expense(1, 20m)); campingTrip.Expenses.Add(new Expense(2, 15m)); campingTrip.Expenses.Add(new Expense(2, 15.01m)); campingTrip.Expenses.Add(new Expense(2, 3m)); campingTrip.Expenses.Add(new Expense(2, 3.01m)); campingTrip.Expenses.Add(new Expense(3, 5m)); campingTrip.Expenses.Add(new Expense(3, 9m)); campingTrip.Expenses.Add(new Expense(3, 4m)); //assert Assert.AreEqual(campingTrip.NumberOfPeople, 3); Assert.AreEqual(campingTrip.GetAmountOwedPerPerson(1), -1.99m); Assert.AreEqual(campingTrip.GetAmountOwedPerPerson(2), -8.01m); Assert.AreEqual(campingTrip.GetAmountOwedPerPerson(3), 10.01m); }
public void GetAmountOwedPerPerson_ShouldReturnTotalOwedByPerson_WhenValuesInList() { //act var campingTrip = new CampingTrip(3); campingTrip.Expenses.Add(new Expense(1, 20m)); campingTrip.Expenses.Add(new Expense(1, 20m)); campingTrip.Expenses.Add(new Expense(2, 5m)); campingTrip.Expenses.Add(new Expense(2, 18.81m)); campingTrip.Expenses.Add(new Expense(2, 6m)); campingTrip.Expenses.Add(new Expense(2, 2.61m)); campingTrip.Expenses.Add(new Expense(3, 9m)); campingTrip.Expenses.Add(new Expense(3, 7m)); campingTrip.Expenses.Add(new Expense(3, 4.05m)); //assert Assert.AreEqual(campingTrip.NumberOfPeople, 3); Assert.AreEqual(campingTrip.GetAmountOwedPerPerson(1), -9.18m); Assert.AreEqual(campingTrip.GetAmountOwedPerPerson(2), -1.6m); Assert.AreEqual(campingTrip.GetAmountOwedPerPerson(3), 10.77m); }
public void RegistrationTrip() { if (!CampingTripRegistrationValidation()) { return; } var registrationTrip = new CampingTrip() { Place = this.tripRegistration.Place, DepartureDate = this.tripRegistration.DepartureDate, ArrivalDate = this.tripRegistration.ArrivalDate, MinAge = this.tripRegistration.MinAge, MaxAge = this.tripRegistration.MaxAge, MaxCountOfMembers = this.tripRegistration.MaxCountOfMembers, MinCountOfMembers = this.tripRegistration.MinCountOfMembers, HasGuide = this.tripRegistration.HasGuide, HasPhotographer = this.tripRegistration.HasPhotographer, OrganizationType = Kanch.DataModel.TypeOfOrganization.OrderByAdmin, Organizer = new User() { FirstName = this.user.FirstName, LastName = this.user.LastName, DateOfBirth = this.user.DateOfBirth, Email = this.user.Email, Gender = this.user.Gender, Image = Utilities.ImageConverter.ImageSourceToBytes(this.user.Image), Id = this.user.Id, PhoneNumber = this.user.PhoneNumber, UserName = this.user.UserName, }, PriceOfTrip = this.tripRegistration.PriceOfTrip }; if (this.tripRegistration.TypeOfTrip == ProfileComponents.DataModel.TypeOfCampingTrip.Campaign) { registrationTrip.TypeOfTrip = Kanch.DataModel.TypeOfCampingTrip.Campaign; } else if (this.tripRegistration.TypeOfTrip == ProfileComponents.DataModel.TypeOfCampingTrip.CampingTrip) { registrationTrip.TypeOfTrip = Kanch.DataModel.TypeOfCampingTrip.CampingTrip; } else { registrationTrip.TypeOfTrip = Kanch.DataModel.TypeOfCampingTrip.Excursion; } registrationTrip.Direction = new List <string>(); foreach (var elem in this.direction) { registrationTrip.Direction.Add(elem.Name); } registrationTrip.Food = new List <Food>(); foreach (var food in foods) { registrationTrip.Food.Add(new Food() { Name = food.Name, Measure = food.Measure, MeasurementUnit = food.MeasurementUnit }); } var tokenResponse = tokenClient.RequestRefreshTokenAsync(ConfigurationManager.AppSettings["refreshToken"]).Result; httpClient.SetBearerToken(tokenResponse.AccessToken); var trip = JsonConvert.SerializeObject(registrationTrip); var response = httpClient.PostAsync("api/CampingTrips", new StringContent(trip, Encoding.UTF8, "application/json")).Result; if (!response.IsSuccessStatusCode) { this.ErrorMessage = "Please, try again"; } else { Reset(); } }
private async Task <CampingTripFull> GetCampingTripMembersAndDPGForUser(CampingTrip trip, bool getMembers = true) { var fullTrip = new CampingTripFull(trip); if (getMembers && trip.OrganizationType == TypeOfOrganization.orderByAdmin) { var members = await GetCampingTripMembersAsync(trip.MembersOfCampingTrip); if (members != null) { if (fullTrip.MembersOfCampingTrip == null) { fullTrip.MembersOfCampingTrip = new List <User>(); } foreach (var member in members) { fullTrip.MembersOfCampingTrip.Add(new User { Id = member.Id, FirstName = member.FirstName, LastName = member.LastName, Gender = member.Gender, Img = member.Img }); } } } if (trip.HasPhotographer && trip.PhotographerID != 0) { var potographer = await GetTripPhotographerAsync(trip.PhotographerID); fullTrip.Photographer = new Photographer { Id = potographer.Id, FirstName = potographer.FirstName, LastName = potographer.LastName, Gender = potographer.Gender, Camera = potographer.Camera, KnowledgeOfLanguages = potographer.KnowledgeOfLanguages, HasCameraStabilizator = potographer.HasCameraStabilizator, HasDron = potographer.HasDron, HasGopro = potographer.HasGopro, Profession = potographer.Profession, Img = potographer.Img, Rating = potographer.Rating, WorkExperience = potographer.WorkExperience, NumberOfAppraisers = potographer.NumberOfAppraisers }; } if (trip.DriverID != 0) { var driver = await GetTripDriverAsync(trip.DriverID); fullTrip.Driver = new Driver { Id = driver.Id, FirstName = driver.FirstName, LastName = driver.LastName, Gender = driver.Gender, Img = driver.Img, Car = driver.Car, KnowledgeOfLanguages = driver.KnowledgeOfLanguages, NumberOfAppraisers = driver.NumberOfAppraisers, Rating = driver.Rating, }; } if (trip.HasGuide && trip.GuideID != 0) { var guide = await GetTripGuideAsync(trip.GuideID); fullTrip.Guide = new Guide { Id = guide.Id, FirstName = guide.FirstName, LastName = guide.LastName, Gender = guide.Gender, Img = guide.Img, EducationGrade = guide.EducationGrade, KnowledgeOfLanguages = guide.KnowledgeOfLanguages, NumberOfAppraisers = guide.NumberOfAppraisers, Places = guide.Places, Profession = guide.Profession, Rating = guide.Rating, WorkExperience = guide.WorkExperience }; } return(fullTrip); }
private CampingTrip TripConverter(CampingTripInfo campingTrip) { var trip = new CampingTrip() { ID = campingTrip.ID, Place = campingTrip.Place, DepartureDate = campingTrip.DepartureDate, ArrivalDate = campingTrip.ArrivalDate, MinAge = campingTrip.MinAge, MaxAge = campingTrip.MaxAge, MaxCountOfMembers = campingTrip.MaxCountOfMembers, MinCountOfMembers = campingTrip.MinCountOfMembers, HasGuide = campingTrip.HasGuide, HasPhotographer = campingTrip.HasPhotographer, OrganizationType = Kanch.DataModel.TypeOfOrganization.OrderByAdmin, Organizer = new User() { Id = campingTrip.Organizer.Id }, PriceOfTrip = campingTrip.PriceOfTrip, CountOfMembers = campingTrip.CountOfMembers, Direction = campingTrip.Direction, IsRegistrationCompleted = campingTrip.IsRegistrationCompleted, }; if (campingTrip.TypeOfTrip == ProfileComponents.DataModel.TypeOfCampingTrip.Campaign) { trip.TypeOfTrip = Kanch.DataModel.TypeOfCampingTrip.Campaign; } else if (campingTrip.TypeOfTrip == ProfileComponents.DataModel.TypeOfCampingTrip.CampingTrip) { trip.TypeOfTrip = Kanch.DataModel.TypeOfCampingTrip.CampingTrip; } else { trip.TypeOfTrip = Kanch.DataModel.TypeOfCampingTrip.Excursion; } if (campingTrip.Driver != null) { trip.Driver = new Driver { Id = campingTrip.Driver.Id }; } if (campingTrip.Guide != null) { trip.Guide = new Guide { Id = campingTrip.Guide.Id }; } if (campingTrip.Photographer != null) { trip.Photographer = new Photographer { Id = campingTrip.Photographer.Id }; } trip.MembersOfCampingTrip = new List <User>(); if (campingTrip.MembersOfCampingTrip != null) { foreach (var member in campingTrip.MembersOfCampingTrip) { trip.MembersOfCampingTrip.Add(new User { Id = member.Id }); } } if (campingTrip.Food != null) { trip.Food = new List <Food>(); foreach (var food in campingTrip.Food) { trip.Food.Add(new Food() { Name = food.Name, Measure = food.Measure, MeasurementUnit = food.MeasurementUnit }); } } return(trip); }
private IEnumerable <CampingTrip> ParseData() { if (string.IsNullOrEmpty(_data)) { return(null); } var strReader = new StringReader(_data); // get person number var personCount = 0; var line = strReader.ReadLine(); var trips = new List <CampingTrip>(); // go through the data file to find out all trip expense while (true) { if (line.IsCloseNumber() || line == null) { break; } // get trip participant number if (line.IsPositiveNumber()) { personCount = GetPositiveNumber(line); if (personCount <= 0) { throw new DataException("Cannot get valid person number"); } } // get expense for each participant var expenses = new List <CampingExpense>(); for (var i = 0; i < personCount; i++) { line = strReader.ReadLine(); if (line.IsPositiveNumber()) { var recs = GetPositiveNumber(line); var charges = new List <decimal>(); for (var j = 0; j < recs; j++) { line = strReader.ReadLine(); if (line.IsCharge()) { var charge = GetCharge(line); charges.Add(charge); } } var expense = new CampingExpense { PersonId = i + 1, Expenses = charges }; expenses.Add(expense); } } var trip = new CampingTrip { Expenses = expenses }; trips.Add(trip); line = strReader.ReadLine(); } return(trips); }