示例#1
0
        public async Task <IActionResult> Edit(int id, Computer computer)
        {
            computer.AppUserId = User.UserId();
            if (id != computer.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(computer);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ComputerExists(computer.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(computer));
        }
        public async Task <IActionResult> Create(Obligation obligation, string fullName)
        {
            var user = await _bll.Persons.OnePerson(User.UserId());

            obligation.ParentId = user.Id;
            ModelState.SetModelValue("ParentId", new ValueProviderResult(user.Id.ToString()));
            var child = await _bll.Persons.PersonByName(fullName);

            obligation.ChildId = child.Id;
            ModelState.SetModelValue("ChildId", new ValueProviderResult(child.Id.ToString()));
            Time t = new Time();

            t.StartTime = obligation.Time !.StartTime;
            t.EndTime   = obligation.Time !.EndTime;
            _bll.Times.Add(t);
            await _bll.SaveChangesAsync();

            obligation.TimeId = t.Id;
            ModelState.SetModelValue("TimeId", new ValueProviderResult(t.Id.ToString()));
            Location l;

            if (await _bll.Locations.ExistsValue(obligation.Location !.LocationValue, User.UserId()))
            {
                l = await _bll.Locations.LocationByValue(obligation.Location.LocationValue, User.UserId());
            }
示例#3
0
        // GET: Computers
        public async Task <IActionResult> Index()
        {
            var appDbContext = _context.Computers
                               .Include(c => c.AppUser)
                               .Where(c => c.AppUserId == User.UserId());

            return(View(await appDbContext.ToListAsync()));
        }
示例#4
0
        /// <summary>
        /// All Person Notifications
        /// </summary>
        /// <returns></returns>
        // GET: Notifications
        public async Task <IActionResult> Index()
        {
            var vm = new NotificationDataModel();

            vm.Notifications = await _bll.Notifications.AllImportant(User.UserId());

            vm.UnreadMessages = (await _bll.Notifications.AllImportant(User.UserId()))
                                .Count(n => n.Status == false);
            return(View(vm));
        }
示例#5
0
        /// <summary>
        /// Person Info
        /// </summary>
        /// <returns></returns>
        // GET: Persons/Edit/5
        public async Task <IActionResult> Edit()
        {
            var vm = new PersonModel();

            vm.Person = await _bll.Persons.OnePerson(User.UserId());

            vm.LogoList = _env.WebRootFileProvider.GetDirectoryContents("Icons")
                          .Select(item => item.Name).ToList();
            //var person = await _bll.Persons.OnePerson(User.UserGuidId());
            return(View(vm));
        }
示例#6
0
        public async Task <IActionResult> Create(Computer computer)
        {
            computer.AppUserId = User.UserId();
            if (ModelState.IsValid)
            {
                _context.Add(computer);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(computer));
        }
示例#7
0
        /// <summary>
        /// Main Task
        /// </summary>
        /// <returns></returns>
        // GET: Persons
        public async Task <IActionResult> Index()
        {
            var vm = new PersonDataModel();

            vm.DatesList = await _bll.Obligations.DatesList(User.UserId());

            vm.UnreadMessages = (await _bll.Persons.OnePerson(User.UserId())).UnreadMessages;
            //var applicationDbContext = await _bll.Persons.AllFamilyPersons(User.UserGuidId());
            vm.Persons = await _bll.Persons.AllFamilyPersons(User.UserId());

            return(View(vm));
        }
示例#8
0
        /// <summary>
        /// Read obligation request
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> ObligationAccept(Guid id)
        {
            var notification = await _bll.Notifications.FirstOrDefaultAsync(id);

            notification.Status = true;
            await _bll.Notifications.UpdateAsync(notification);

            await _bll.SaveChangesAsync();

            if ((await _bll.Notifications.AllImportant(User.UserId()))
                .Count(n => n.Status == false) == 0)
            {
                return(RedirectToAction("Index", "Persons"));
            }
            return(RedirectToAction("Index", "Notifications"));
        }
示例#9
0
        // GET: Computers/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var computer = await _context.Computers
                           .FirstOrDefaultAsync(m => m.Id == id && m.AppUserId == User.UserId());

            if (computer == null)
            {
                return(NotFound());
            }

            return(View(computer));
        }
示例#10
0
        /// <summary>
        /// Add person to family
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        public async Task <IActionResult> NotificationCreate(string email)
        {
            if (await _bll.Persons.ExistAny(email))
            {
                var sender = await _bll.Persons.OnePerson(User.UserId());

                string       name = sender.FirstName + " " + sender.LastName;
                Notification n    = new Notification();
                n.SenderId    = sender.Id;
                n.RecipientId = (await _bll.Persons.RecipientPerson(email)).Id;
                n.Status      = false;
                n.Body        = name + " invite you to his/her family";
                _bll.Notifications.Add(n);
                await _bll.SaveChangesAsync();
            }
            return(RedirectToAction("Index", "Persons"));
        }
        /// <summary>
        /// Create one
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        // GET: Obligations/Create
        public async Task <IActionResult> Create(DateTime dt)
        {
            var vm = new ObligationModel();

            vm.StartTime      = dt.ToString("yyyy-MM-ddTHH:mm");
            vm.EndTime        = dt.ToString("yyyy-MM-ddTHH:mm");
            vm.LocationValues = new SelectList(await _bll.Locations.AllForPerson(User.UserId()),
                                               nameof(Location.LocationValue),
                                               nameof(Location.LocationValue));
            List <string> fullNames = (await _bll.Persons.AllFamilyPersons(User.UserId()))
                                      .Select(p => p.FirstName + " " + p.LastName).ToList();

            vm.FullNames = fullNames.Select(x => new SelectListItem()
            {
                Text = x.ToString()
            });
            return(View(vm));
        }
        /// <summary>
        /// List of day's Obligations
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        // GET: Obligations
        public async Task <IActionResult> Index(DateTime dt)
        {
            if (dt == new DateTime())
            {
                dt = DateTime.Today;
            }
            var vm = new ObligationDataModel();

            vm.Obligations = await _bll.Obligations.AllPerDay(dt, User.UserId());

            vm.Date     = dt;
            vm.HtmlDate = dt.ToString("yyyy-MM-dd");
            DateTime today = DateTime.Today;

            vm.Today    = dt >= today;
            vm.PersonId = (await _bll.Persons.OnePerson(User.UserId())).Id;
            return(View(vm));
        }
示例#13
0
        /// <summary>
        /// Accept of invitation to family
        /// </summary>
        /// <param name="submitButton"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> InvitationAccept(string submitButton, Guid id)
        {
            var notification = await _bll.Notifications.FirstOrDefaultAsync(id);

            notification.Status = true;
            await _bll.Notifications.UpdateAsync(notification);

            if (submitButton == "yes")
            {
                var person = await _bll.Persons.OnePerson(User.UserId());

                var sender = await _bll.Persons.FirstOrDefaultAsync(notification.SenderId);

                person.FamilyId = sender.FamilyId;
                await _bll.Persons.UpdateAsync(person);
            }
            await _bll.SaveChangesAsync();

            return(RedirectToAction("Index", "Persons"));
        }
示例#14
0
        // GET: Computers/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var computer = await _context.Computers.FirstOrDefaultAsync(c => c.AppUserId == User.UserId() && c.Id == id);

            if (computer == null)
            {
                return(NotFound());
            }
            ViewData["AppUserId"] = new SelectList(_context.Users, "Id", "Id", computer.AppUserId);
            return(View(computer));
        }
示例#15
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var computer = await _context.Computers.FirstOrDefaultAsync(c => c.AppUserId == User.UserId() && c.Id == id);

            _context.Computers.Remove(computer);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }