public static void Main() { ChildRepository repo = new ChildRepository(); Console.WriteLine(repo is ChildRepository); Console.WriteLine(repo is BaseRepository); Console.WriteLine(repo is IRepoInterface); }
public async Task GetChildrenForOrganization( string[] include, bool includeFamily, bool includeDeterminations ) { Guid[] ids; int organizationId; using (var context = new TestHedwigContextProvider().Context) { var organization = OrganizationHelper.CreateOrganization(context); var children = ChildHelper.CreateChildren(context, 3, organization: organization); ids = children.Select(c => c.Id).ToArray(); organizationId = organization.Id; } using (var context = new TestHedwigContextProvider().Context) { var childRepo = new ChildRepository(context); var res = await childRepo.GetChildrenForOrganizationAsync(organizationId, include); Assert.Equal(ids.OrderBy(id => id), res.Select(c => c.Id).OrderBy(id => id)); Assert.Equal(includeFamily, res.TrueForAll(c => c.Family != null)); Assert.Equal(includeDeterminations, res.TrueForAll(c => c.Family != null && c.Family.Determinations != null)); } }
public async Task <IActionResult> Relations([FromQuery] IdModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } if (model == null || model.Id == 0) { return(Utilities.GenerateMissingInputMessage("child id")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Relatives = repo.GetRelations(model) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public ParentChildTests(ITestOutputHelper output) : base(output) { _parentRepository = new ParentRepository(_configuration); _childRepository = new ChildRepository(_configuration); RemoveDataAsync().GetAwaiter().GetResult(); }
public async Task <IActionResult> NoteDeletion([FromQuery] IdModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } if (model.Id == 0) { return(Utilities.GenerateMissingInputMessage("note id")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Message = repo.DeleteNote(model.Id) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public async Task <IActionResult> Suspensions() { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Suspensions = repo.ViewSuspensions() })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public async Task <IActionResult> UpdateWaiver(PostWaiverModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } if (model == null || model.Id == 0) { return(Utilities.GenerateMissingInputMessage("child id")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); repo.UpdateWaiver(model.Id, model.Received); String Message = "The child was recorded as " + (model.Received ? "" : "not ") + "having turned in the waiver."; return(new JsonResult(new { Message })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public async Task <IActionResult> Child([FromQuery] IdModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } if (model == null || model.Id == 0) { return(Utilities.GenerateMissingInputMessage("child id")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); PostChildEditModel child = repo.GetChild(model.Id); if (child.Id == 0) { return(Utilities.ErrorJson("Invalid id")); } return(new JsonResult(new PostChildEditModel { Id = child.Id, FirstName = child.FirstName, LastName = child.LastName, PreferredName = child.LastName, ContactNumber = child.ContactNumber, ContactEmail = child.ContactEmail, ParentName = child.ParentName, BusId = child.BusId, Birthday = child.Birthday, Gender = child.Gender, Grade = child.Grade, ParentalWaiver = child.ParentalWaiver, ClassId = child.ClassId, Picture = child.Picture, BusWaiver = child.BusWaiver, HaircutWaiver = child.HaircutWaiver, ParentalEmailOptIn = child.ParentalEmailOptIn, OrangeShirtStatus = child.OrangeShirtStatus, StartDate = child.StartDate, IsSuspended = repo.IsSuspended(model.Id), IsCheckedIn = repo.IsCheckedIn(model.Id) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
static void Main() { //IChildRepository childRepo = new ChildRepository(); //IChallengeRepository challengeRepo = new ChallengeRepository(); //childRepo.Save(new Child("Alin", 10)); //childRepo.Save(new Child("Andrei", 12)); //childRepo.Delete(2); /*foreach(var element in childRepo.FindAll()) * { * Trace.WriteLine(element); * }*/ IChildRepository childRepo = new ChildRepository(); IChallengeRepository challengeRepo = new ChallengeRepository(); IEmployeesRepository employeesRepo = new EmployeesRepository(); IEntriesRepository entriesRepo = new EntriesRepository(childRepo, challengeRepo); Service service = new Service(childRepo, challengeRepo, employeesRepo, entriesRepo); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Login(service)); }
protected override void DisposeManagedResources() { base.DisposeManagedResources(); if (ChildRepository != null) { ChildRepository.Dispose(); ChildRepository = null; } }
public MainWindowViewModel(string[] customerDataFile) { base.DisplayName = Strings.MainWindowViewModel_DisplayName; _groupRepository = new GroupRepository(); _childRepository = new ChildRepository(); _curVMDisplayName = this.DisplayName; this.ShowAllGroups(); _enableEditCommands = false; }
public async Task <IActionResult> Suspend(PostSuspendModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } List <String> missingParameters = new List <String>(); if (model.Id == 0) { missingParameters.Add("child id"); } if (model.Start == DateTime.MinValue) { missingParameters.Add("start time"); } if (model.End == DateTime.MinValue) { missingParameters.Add("end time"); } if (missingParameters.Count != 0) { return(Utilities.GenerateMissingInputMessage(missingParameters)); } String timeframeMsg = Utilities.ValidateTimeframe(model.Start, model.End); if (!timeframeMsg.Equals("")) { return(Utilities.ErrorJson(timeframeMsg)); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Message = repo.Suspend(model.Id, model.Start, model.End) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public void Delete(ChildModel _childModel) { using (_childRepository = new ChildRepository()) { Child child = (_childRepository.FindBy(child1 => child1.Id == 1)).First(); _childRepository.Delete(child); _childRepository.Save(); } }
// Required input: contact number, parent name, child first name, bus id public async Task <IActionResult> CreateChild(PostChildCreationModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } List <String> missingParameters = new List <String>(); if (model.FirstName == null) { missingParameters.Add("first name"); } if (model.ParentName == null) { missingParameters.Add("parent name"); } if (model.ContactNumber == null) { missingParameters.Add("contact number"); } if (model.BusId == 0) { missingParameters.Add("bus id"); } if (missingParameters.Count != 0) { return(Utilities.GenerateMissingInputMessage(missingParameters)); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Message = repo.CreateChild(model) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public async Task <Result <Category> > GetAsync(Criteria <DateRange> dateRangeCriteria) { // Validate criteria. if (dateRangeCriteria == null) { return(new Result <Category>() { Message = "Invalid criteria" }); } if (dateRangeCriteria.Value != null && dateRangeCriteria.Value.From > dateRangeCriteria.Value.To) { return(new Result <Category>() { Message = "Invalid criteria" }); } // Fetch the Category. var category = await Repository.GetAsync(dateRangeCriteria.PrimaryId); if (category == null) { return(new Result <Category>() { Message = "The category could not be found." }); } // Finding the Category means success regardless of DataPoint DateRange query result. var result = new Result <Category>(); result.Message = $"{nameof(Category)} '{category.ToString()}' found"; result.Success = true; result.Value = category; // Fetch the DataPoints for the Category with DateRange if requested. if (dateRangeCriteria.Value != null) { var dataPointsQuery = ChildRepository.GetQueryable().Where(d => d.CategoryId == category.Id); if (dateRangeCriteria.Value.To > DateTime.MinValue) { dataPointsQuery = dataPointsQuery.Where(d => d.Stamp >= dateRangeCriteria.Value.From && d.Stamp <= dateRangeCriteria.Value.To); } result.Value.DataPoints = (await ChildRepository.GetAsync(dataPointsQuery))? .OrderBy(d => d.Stamp) .ToList(); } return(result); }
public async Task <IActionResult> EditChild(PostChildEditModel child) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } if (child == null || child.Id == 0) { return(Utilities.GenerateMissingInputMessage("child id")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); PostChildEditModel updatedChild = repo.EditChild(child); return(new JsonResult(new PostChildEditModel { Id = updatedChild.Id, // Fields that can be updated: FirstName = updatedChild.FirstName, LastName = updatedChild.LastName, PreferredName = updatedChild.LastName, ContactNumber = updatedChild.ContactNumber, ContactEmail = updatedChild.ContactEmail, ParentName = updatedChild.ParentName, BusId = updatedChild.BusId, Birthday = updatedChild.Birthday, Gender = updatedChild.Gender, Grade = updatedChild.Grade, ParentalWaiver = updatedChild.ParentalWaiver, ClassId = updatedChild.ClassId, Picture = updatedChild.Picture, BusWaiver = updatedChild.BusWaiver, HaircutWaiver = updatedChild.HaircutWaiver, ParentalEmailOptIn = updatedChild.ParentalEmailOptIn, OrangeShirtStatus = updatedChild.OrangeShirtStatus })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public static void Main(string[] args) { IChildRepository childRepo = new ChildRepository(); IChallengeRepository challengeRepo = new ChallengeRepository(); IEmployeesRepository employeesRepo = new EmployeesRepository(); IEntriesRepository entriesRepo = new EntriesRepository(childRepo, challengeRepo); IService service = new Service(childRepo, challengeRepo, employeesRepo, entriesRepo); SerialServer server = new SerialServer("127.0.0.1", 55555, service); server.Start(); Console.WriteLine("Server started ..."); }
public ChildViewModel(Child child, ChildRepository childRepository) { if (child == null) { throw new ArgumentNullException("child"); } if (childRepository == null) { throw new ArgumentNullException("childRepository"); } _child = child; _childRepository = childRepository; //_childType = Strings.ChildViewModel_ChildTypeOption_NotSpecified; }
public void GetChildById_ReturnsChild() { using (var context = new TestHedwigContextProvider().Context) { // If a child exists string name = "First"; var child = ChildHelper.CreateChild(context, name); // When the repository is queried for the child: var childRepo = new ChildRepository(context); var res = childRepo.GetChildById(child.Id); // Then Assert.Equal(name, res.FirstName); } }
public AllChildsViewModel(ChildRepository childRepository) { if (childRepository == null) { throw new ArgumentNullException("childRepository"); } base.DisplayName = Strings.AllChildsViewModel_DisplayName; _childRepository = childRepository; // Subscribe for notifications of when a new child is saved. _childRepository.ChildAdded += this.OnChildAddedToRepository; // Populate the AllChilds collection with ChildViewModels. this.CreateAllChilds(); }
static async Task Main(string[] args) { var criancaRepository = new CriancaRepository(new SqlServerFactory()); var childRepository = new ChildRepository(new MongoDbFactory()); var campaignManager = new CampaignManager(criancaRepository, childRepository); campaignManager.CreateCampaign(new Campaign { Year = 2014, ChildrensQty = 200, Description = "", State = "Closed" }); await campaignManager.Migrate(); Console.WriteLine("Press any key to finishe"); Console.ReadKey(); }
public async Task <ActionResult> SuspensionHistoryForChild([FromQuery] IdModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Volunteer.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } VolunteerRepository volunteerRepo = new VolunteerRepository(configModel.ConnectionString); // Volunteers must be teachers to have access if (User.IsInRole(UserHelpers.UserRoles.Volunteer.ToString()) && !volunteerRepo.VolunteerIsClassTeacher(user.VolunteerId)) { return(Utilities.ErrorJson("Not authorized.")); } if (model == null || model.Id == 0) { return(Utilities.GenerateMissingInputMessage("id")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Suspensions = repo.GetSuspensionHistoryForChild(model) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public int Insert(FamilyViewModel familyViewModel, List <ChildViewModel> childViewModel) { AutoMapper.Mapper.Initialize(cfg => cfg.CreateMap <FamilyViewModel, Family>()); var family = AutoMapper.Mapper.Map <FamilyViewModel, Family>(familyViewModel); AutoMapper.Mapper.Initialize(cfg => cfg.CreateMap <List <ChildViewModel>, List <Child> >()); var children = AutoMapper.Mapper.Map <List <ChildViewModel>, List <Child> >(childViewModel); connectionFactory = ConnectionHelper.GetConnection(); var context = new DbContext(connectionFactory); var familyRepository = new FamilyRepository(context); var childRepository = new ChildRepository(context); int ParentId = familyRepository.Insert(family); childRepository.Insert(children, ParentId); return(ParentId); }
public async Task GetChildForOrganization( bool includeFamily, bool includeDeterminations ) { Child child; using (var context = new TestHedwigContextProvider().Context) { child = ChildHelper.CreateChild(context); } using (var context = new TestHedwigContextProvider().Context) { var childRepo = new ChildRepository(context); var res = await childRepo.GetChildForOrganizationAsync(child.Id, child.OrganizationId); Assert.Equal(child.Id, res.Id); Assert.Equal(includeFamily, res.Family != null); Assert.Equal(includeDeterminations, res.Family != null && res.Family.Determinations != null); } }
public async Task <IActionResult> ChildBirthdays(int month = 0) { var user = await userManager.GetUserAsync(User); ChildRepository repo = new ChildRepository(configModel.ConnectionString); List <BirthdayModel> birthdays = null; if (!User.IsInRole(UserHelpers.UserRoles.Staff.ToString())) { return(Utilities.ErrorJson("Not authorized")); } if (month < 0 || month > 12) { return(Utilities.ErrorJson("Invalid month")); } // Query the database try { if (month == 0) { birthdays = repo.GetBirthdays(DateTime.Now.Month); } else { birthdays = repo.GetBirthdays(month); } } catch (Exception e) { return(Utilities.ErrorJson(e.Message)); } return(new JsonResult(new { Error = "", Birthdays = birthdays })); }
public async Task <IActionResult> Relation(DeleteRelationModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } if (model.ChildId1 == 0 && model.ChildId2 == 0) { return(Utilities.GenerateMissingInputMessage("2 more child ids are required.")); } if (model.ChildId1 == 0 || model.ChildId2 == 0) { return(Utilities.GenerateMissingInputMessage("1 more child id is required.")); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Message = repo.DeleteRelation(model) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public IHttpActionResult Foo() { ChildRepository.Foo(Request); return(Ok(...)); }
public async Task <IActionResult> Note(PostNoteModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } List <String> missingParameters = new List <String>(); if (model.Author.Equals("")) { missingParameters.Add("author name"); } if (model.ChildId == 0) { missingParameters.Add("child id"); } if (model.Content.Equals("")) { missingParameters.Add("content"); } if (model.Priority.Equals("")) { missingParameters.Add("priority"); } if (model.Date.Equals("")) { missingParameters.Add("date"); } if (missingParameters.Count > 0) { Utilities.GenerateMissingInputMessage(missingParameters); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); // Email which class the child is in, which bus they are in, the priority level, and who wrote this note String childName = repo.GetName(model.ChildId); String className = repo.GetClassName(model.ChildId); String busName = repo.GetBusName(model.ChildId); String message = "A new note has been added about " + childName + " with the priority level " + model.Priority + ". The child is in the class " + className + " and on the bus " + busName + ". The" + " note was written by " + model.Author + "."; String subject = "New note: " + childName + " in class " + className + " - " + model.Priority + "."; await EmailHelpers.SendEmail("*****@*****.**", subject, message, configModel.EmailOptions); repo.AddNote(model.Author, model.ChildId, model.Content, model.Date); return(new JsonResult(new { Error = "" })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message })); } }
public async Task <IActionResult> Relation(RelationModel model) { var user = await userManager.GetUserAsync(User); if (user == null || !(await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.VolunteerCaptain.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.BusDriver.ToString()) || await userManager.IsInRoleAsync(user, UserHelpers.UserRoles.Staff.ToString()))) { return(Utilities.ErrorJson("Not authorized.")); } List <String> missingParameters = new List <String>(); int missingIds = 0; if (model.ChildId1 == 0) { missingIds++; } if (model.ChildId2 == 0) { missingIds++; } if (model.Relation == null) { missingParameters.Add("relationship"); } if (missingIds > 0) { missingParameters.Add(missingIds + " more child id" + (missingIds == 2 ? "s" : "")); } if (missingParameters.Count > 0) { return(Utilities.GenerateMissingInputMessage(missingParameters)); } if (model.ChildId1 == model.ChildId2) { return(new JsonResult(new { Error = "Children ids cannot be the same." })); } try { ChildRepository repo = new ChildRepository(configModel.ConnectionString); return(new JsonResult(new { Message = repo.AddRelation(model) })); } catch (Exception exc) { return(new JsonResult(new { Error = exc.Message, })); } }
public ParentChildTests(ITestOutputHelper output) : base(output) { _parentRepository = new ParentRepository(_configuration); _childRepository = new ChildRepository(_configuration); RemoveDataAsync().GetAwaiter().GetResult(); }
public CampaignManager(CriancaRepository criancaRepository, ChildRepository childRepository) { _criancaRepository = criancaRepository; _childRepository = childRepository; }