Inheritance: ApiController
コード例 #1
0
	public static void Main()
	{
		ChildRepository repo = new ChildRepository();
		Console.WriteLine(repo is ChildRepository);
		Console.WriteLine(repo is BaseRepository);
		Console.WriteLine(repo is IRepoInterface);
	}
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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,
                }));
            }
        }
コード例 #4
0
        public ParentChildTests(ITestOutputHelper output) : base(output)
        {
            _parentRepository = new ParentRepository(_configuration);
            _childRepository  = new ChildRepository(_configuration);

            RemoveDataAsync().GetAwaiter().GetResult();
        }
コード例 #5
0
        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,
                }));
            }
        }
コード例 #6
0
        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,
                }));
            }
        }
コード例 #7
0
        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,
                }));
            }
        }
コード例 #8
0
        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,
                }));
            }
        }
コード例 #9
0
        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));
        }
コード例 #10
0
ファイル: GraphManger.cs プロジェクト: DaneVinson/TrackIt
 protected override void DisposeManagedResources()
 {
     base.DisposeManagedResources();
     if (ChildRepository != null)
     {
         ChildRepository.Dispose();
         ChildRepository = null;
     }
 }
コード例 #11
0
 public MainWindowViewModel(string[] customerDataFile)
 {
     base.DisplayName  = Strings.MainWindowViewModel_DisplayName;
     _groupRepository  = new GroupRepository();
     _childRepository  = new ChildRepository();
     _curVMDisplayName = this.DisplayName;
     this.ShowAllGroups();
     _enableEditCommands = false;
 }
コード例 #12
0
        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,
                }));
            }
        }
コード例 #13
0
        public void Delete(ChildModel _childModel)
        {
            using (_childRepository = new ChildRepository())
            {
                Child child = (_childRepository.FindBy(child1 => child1.Id == 1)).First();

                _childRepository.Delete(child);
                _childRepository.Save();
            }
        }
コード例 #14
0
        // 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,
                }));
            }
        }
コード例 #15
0
ファイル: CategoryManager.cs プロジェクト: DaneVinson/TrackIt
        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);
        }
コード例 #16
0
        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,
                }));
            }
        }
コード例 #17
0
        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 ...");
        }
コード例 #18
0
        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;
        }
コード例 #19
0
        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);
            }
        }
コード例 #20
0
        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();
        }
コード例 #21
0
        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();
        }
コード例 #22
0
        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,
                }));
            }
        }
コード例 #23
0
        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);
        }
コード例 #24
0
        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);
            }
        }
コード例 #25
0
        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
            }));
        }
コード例 #26
0
        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,
                }));
            }
        }
コード例 #27
0
 public IHttpActionResult Foo()
 {
     ChildRepository.Foo(Request);
     return(Ok(...));
 }
コード例 #28
0
        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
                }));
            }
        }
コード例 #29
0
        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,
                }));
            }
        }
コード例 #30
0
        public ParentChildTests(ITestOutputHelper output) : base(output) {
            _parentRepository = new ParentRepository(_configuration);
            _childRepository = new ChildRepository(_configuration);

            RemoveDataAsync().GetAwaiter().GetResult();
        }
コード例 #31
0
 public CampaignManager(CriancaRepository criancaRepository, ChildRepository childRepository)
 {
     _criancaRepository = criancaRepository;
     _childRepository   = childRepository;
 }