Exemplo n.º 1
0
        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"));
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult> FinishOffer(int id)
        {
            var offer = await OfferFacade.GetOfferAsync(id);

            offer.State = State.Finished;

            await OfferFacade.EditOfferAsync(offer);

            return(RedirectToAction("Details", new { id = id }));
        }
Exemplo n.º 3
0
        public async Task <ActionResult> EnrollRegistered(int id, int userId, string userRole)
        {
            var offer = await OfferFacade.GetOfferAsync(id);

            offer.ApplierId = userId;
            if (Enum.TryParse <UserRole>(userRole, out UserRole role))
            {
                offer.ApplierRole = role;
            }

            offer.State = State.InProgress;
            await OfferFacade.EditOfferAsync(offer);

            return(View("EnrollmentCompleteView"));
        }
Exemplo n.º 4
0
        public async Task <ActionResult> Edit(int id, FormCollection collection)
        {
            try
            {
                UserRole userRole;
                OfferDTO newOffer = new OfferDTO();
                newOffer.Id = id;
                var idRoleTuple = await GetUserIdRole();

                if (!Enum.TryParse <UserRole>(idRoleTuple.Item2, out userRole))
                {
                    return(View("~/Views/Home/GeneralExceptionView.cshtml"));
                }

                newOffer.CreatorId   = idRoleTuple.Item1;
                newOffer.CreatorRole = userRole;

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

                    case "Description":
                        newOffer.Description = collection[key];
                        break;

                    case "AdditionalInfo":
                        newOffer.AdditionalInfo = collection[key];
                        break;

                    case "Price":
                        if (Double.TryParse(collection[key], out double value))
                        {
                            newOffer.Price = (long)Math.Truncate(value);
                        }
                        break;

                    case "Category":
                        if (Enum.TryParse(collection[key], out Category newSex))
                        {
                            newOffer.Category = newSex;
                        }
                        break;
                    }
                }

                bool success = await OfferFacade.EditOfferAsync(newOffer);

                if (!success)
                {
                    throw new NotImplementedException();
                }
                return(RedirectToAction("Details", new { id = newOffer.Id }));
            }
            catch
            {
                return(View("~/Views/Home/GeneralExceptionView.cshtml"));
            }
        }