public async Task <ActionResult> EnrollUnregistered(FormCollection collection, int id)
        {
            try
            {
                UnregisteredUserDTO newUnregistered = new UnregisteredUserDTO();

                foreach (string key in collection.AllKeys)
                {
                    switch (key)
                    {
                    case "Name":
                        newUnregistered.Name = collection[key];
                        break;

                    case "Email":
                        newUnregistered.Email = collection[key];
                        break;

                    case "PhoneNumber":
                        newUnregistered.PhoneNumber = collection[key];
                        break;

                    case "Info":
                        newUnregistered.Info = collection[key];
                        break;

                    case "Location":
                        newUnregistered.Location = collection[key];
                        break;
                    }
                }

                await UserFacade.CreateUnregisteredAsync(newUnregistered);


                // Tuto cast kodu prosim zignorujme. DB nam pri Create vzdy vracala Id 0, hoci objekt ho ma v DB ako napr. 47.
                // Inak neviem ako ziskat toho uzivatela
                var unregisteredUsersLikeThis = await UserFacade.GetUnregisteredsAsync(new UnregisteredUserFilterDTO {
                    SearchedName     = newUnregistered.Name,
                    SearchedLocation = newUnregistered.Location
                });

                var offer = await OfferFacade.GetOfferAsync(id);

                offer.ApplierId   = unregisteredUsersLikeThis.Items.Last().Id;
                offer.ApplierRole = UserRole.Unregistered;
                offer.State       = State.InProgress;

                await OfferFacade.EditOfferAsync(offer);

                return(View("EnrollmentCompleteView"));
            }
            catch
            {
                return(View("~/Views/Home/GeneralExceptionView.cshtml"));
            }
        }
        public async Task <int> CreateUnregisteredAsync(UnregisteredUserDTO unregistered)
        {
            using (var uow = UnitOfWorkProvider.Create())
            {
                int unregisteredId = unregisteredService.Create(unregistered);
                await uow.Commit();

                return(unregisteredId);
            }
        }
        public async Task <bool> EditUnregisteredAsync(UnregisteredUserDTO unregistered)
        {
            using (var uow = UnitOfWorkProvider.Create())
            {
                if ((await unregisteredService.GetAsync(unregistered.Id, false)) == null)
                {
                    return(false);
                }
                await unregisteredService.Update(unregistered);

                await uow.Commit();

                return(true);
            }
        }