Exemple #1
0
        public async Task <IActionResult> Edit(EditApplicationViewModel viewModel)
        {
            var model = await _mediatr.Send(new GetEntityCommand <Application>(viewModel.Id));

            var updateModel = _mapper.Map(viewModel, model);

            if (viewModel.ApplicationImage != Guid.Empty)
            {
                updateModel.ApplicationImage = await _mediatr.Send(new GetEntityCommand <DockerImage>(viewModel.ApplicationImage));
            }

            if (viewModel.BenchmarkingImage != Guid.Empty)
            {
                updateModel.BenchmarkingImage = await _mediatr.Send(new GetEntityCommand <DockerImage>(viewModel.BenchmarkingImage));
            }

            if (viewModel.ApacheTestFileId.HasValue)
            {
                updateModel.TestFile = await _mediatr.Send(new GetEntityCommand <ApacheJmeterTestFile>(viewModel.ApacheTestFileId.Value));

                updateModel.ApacheJmeterTestId = viewModel.ApacheTestFileId.Value;
            }

            if (viewModel.DatabaseImage.HasValue)
            {
                updateModel.DatabaseImage = await _mediatr.Send(new GetEntityCommand <DockerImage>(viewModel.DatabaseImage.Value));

                updateModel.DatabaseImageId = viewModel.DatabaseImage.Value;
            }

            await _mediatr.Send(new UpdateCommand <Application>(model));

            return(Ok());
        }
        /// <summary>
        /// Generates Editing page for a given application ID and form #
        /// </summary>
        /// <param name="id">Application Id</param>
        /// <param name="formId">if 0 or unassigned then default to Project Info</param>
        /// <returns></returns>
        public ActionResult Details(int id, int?formId)
        {
            if (TempData["SavedForm"] != null)
            {
                ViewBag.SavedForm = TempData["SavedForm"];
            }

            if (User.IsInRole(EUserRoles.Admin.ToString()) || User.IsInRole(EUserRoles.Bsm.ToString()))
            {
                return(RedirectToAction("Submitted", new { id = id }));
            }
            var applicant   = GetCurrentApplicant();
            var application = _context.Applications.Where(x => x.Id == id)
                              .Include(x => x.Forms).FirstOrDefault();

            if (application == null || applicant.Applications.All(x => x.Id != application.Id))
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }
            if (!application.CanEdit)
            {
                return(RedirectToAction("Submitted", new { id = id }));
            }

            EditApplicationViewModel toEdit = new EditApplicationViewModel()
            {
                FormId      = formId.HasValue ? formId.Value : 0,
                Application = application,
                Forms       = application.GetOrderedForms()
            };

            return(View(toEdit));
        }
Exemple #3
0
        public ActionResult Create(EditApplicationViewModel model)
        {
            try
            {
                Application ap = new Application();
                systRepo.AddSyst(ap);
                MapToApplication(model, ap);

                systRepo.SaveChanges();
                TempData["message"] = String.Format("Application {0} has been created", ap.Name);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            List <Models.Domain.ApplicationType> type = new List <Models.Domain.ApplicationType>();

            foreach (Models.Domain.ApplicationType t in Enum.GetValues(typeof(Models.Domain.ApplicationType)))
            {
                type.Add(t);
            }
            model.TypeList = type.Select(t => new SelectListItem
            {
                Value = t.ToString(),
                Text  = t.ToString()
            });
            return(View("Create", model));
        }
Exemple #4
0
        public ActionResult Edit(int id, EditApplicationViewModel model)
        {
            try
            {
                Application ap = systRepo.FindById(id);
                MapToApplication(model, ap);
                systRepo.SaveChanges();
                TempData["message"] = String.Format("Application {0} werd aangepast", ap.Name);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            // http policy requires to fill the list again after the post
            List <ApplicationType> type = new List <ApplicationType>();

            foreach (ApplicationType t in Enum.GetValues(typeof(ApplicationType)))
            {
                type.Add(t);
            }
            model.TypeList = type.Select(t => new SelectListItem
            {
                Value = t.ToString(),
                Text  = t.ToString()
            });
            return(Edit(id));
        }
Exemple #5
0
        public ActionResult Edit(int id)
        {
            Application            ap   = systRepo.FindById(id);
            List <ApplicationType> type = new List <ApplicationType>();

            foreach (ApplicationType t in Enum.GetValues(typeof(ApplicationType)))
            {
                type.Add(t);
            }
            //check if the application exist (normally this can never give null unless DB failure)
            if (ap == null)
            {
                return(HttpNotFound());
            }

            //fill the dropdown and select the default type
            EditApplicationViewModel eavm = new EditApplicationViewModel(ap)
            {
                SelectedStatusId = type.FirstOrDefault().ToString(),
                TypeList         = type.Select(t => new SelectListItem
                {
                    Value = t.ToString(),
                    Text  = t.ToString()
                })
            };

            return(View(eavm));
        }
        public async Task <ActionResult> Edit(int applicationId, CloudOdsEnvironment environment)
        {
            var application = _getApplicationByIdQuery.Execute(applicationId);
            var apiFacade   = await _odsApiFacadeFactory.Create(environment);

            var leas     = apiFacade.GetAllLocalEducationAgencies().ToList();
            var schools  = apiFacade.GetAllSchools().ToList();
            var profiles = _mapper.Map <List <ProfileModel> >(_getProfilesQuery.Execute());

            var educationOrganizationIds =
                application.ApplicationEducationOrganizations.Select(x => x.EducationOrganizationId).ToList();

            var edOrgType = schools.Any(x => educationOrganizationIds.Contains(x.EducationOrganizationId))
                ? ApplicationEducationOrganizationType.School
                : ApplicationEducationOrganizationType.LocalEducationAgency;

            var model = new EditApplicationViewModel
            {
                ApplicationId            = applicationId,
                ApplicationName          = application.DisplayName(),
                ClaimSetName             = application.ClaimSetName,
                ClaimSetNames            = GetClaimSetNames(),
                EducationOrganizationIds = application.ApplicationEducationOrganizations.Select(x => x.EducationOrganizationId),
                LocalEducationAgencies   = leas,
                Schools     = schools,
                Environment = environment,
                ProfileId   = application.Profiles.FirstOrDefault()?.ProfileId ?? 0,
                Profiles    = profiles,
                VendorId    = application.Vendor.VendorId,
                EducationOrganizationType = edOrgType
            };

            return(PartialView("_EditApplicationModal", model));
        }
Exemple #7
0
        public async Task <IActionResult> Edit(Guid id, EditApplicationViewModel model)
        {
            if (ModelState.IsValid)
            {
                await model.SaveChangesAsync(_ctx);

                return(RedirectToAction(nameof(Details), new { id }));
            }

            return(View(model));
        }
Exemple #8
0
        public async Task <IActionResult> Edit(Guid id)
        {
            var model = await EditApplicationViewModel.LoadAsync(_ctx, id);

            if (model != null)
            {
                return(View(model));
            }

            return(NotFound());
        }
        public async Task <IActionResult> EditAsync(int applicationId)
        {
            VendorApplication application = await _vendorApplicationRepository.GetApplicationByIdAsync(applicationId);


            EditApplicationViewModel editApplicationViewModel = new EditApplicationViewModel
            {
                VendorApplicationId       = application.VendorApplicationId,
                ExitingIdProofURL         = application.IdProofUrl,
                ExistingResidencyProofURL = application.ResidencyProofUrl,
                FullName      = application.ApplicantName,
                Status        = application.Status,
                RejectMessage = application.RejectMessage,
                ApplicantId   = application.ApplicantId
            };

            return(View(editApplicationViewModel));
        }
Exemple #10
0
        // GET: Applications/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var application = await _context.Application.FindAsync(id);

            EditApplicationViewModel model = new EditApplicationViewModel
            {
                userId                  = application.UserId,
                Id                      = application.Id,
                Email                   = application.Email,
                Fullname                = application.Fullname,
                Main_place_of_work      = application.Main_place_of_work,
                Position_in_combination = application.Position_in_combination,
                Type                    = application.Type,
                Purpose                 = application.Purpose,
                Saving_salary           = application.Saving_salary,
                Trip_city               = application.Trip_city,
                Institution             = application.Institution,
                Start_date              = application.Start_date,
                End_date                = application.End_date,
                Itinerary               = application.Itinerary,
                App_transport           = _context.Transport.Where(
                    el => (from t in _context.App_Transport
                           where t.ApplicationId == application.Id
                           select t.TransportId).Contains(el.Id)).Select(t => t.TransportType).ToList(),
                App_fundation = _context.Foundation.Where(
                    el => (from f in _context.App_Fundation
                           where f.ApplicationId == application.Id
                           select f.FundationId).Contains(el.Id)).Select(f => f.Trip_Foundation).ToList(),
                InstitutionLocation = application.InstitutionLocation,
                Allfundations       = new List <string> {
                    "запрошення", "витяг з протоколу засідання Вченої Ради факультету", "рапорт проректора"
                },
                Alltransports = new List <string> {
                    "Залізничий", "Автомобільний", "Літак"
                }
            };

            return(View(model));
        }
        public ActionResult Edit([Bind(Include = "Id,TenantId,Code,Domain,Name,Culture,TimeZone,Updated,Created,Status")] EditApplicationViewModel applicationViewModel)
        {
            try
            {
                using (var ctx = new SaasDbContext())
                {
                    if (applicationViewModel.TenantId == CurrentTenant.TenantId || User.IsInRole("SystemAdministrator"))
                    {
                        //Get existing application from db
                        var application = ctx.Applications.Where(a => a.Id == applicationViewModel.Id).FirstOrDefault();

                        application.Name     = applicationViewModel.Name;
                        application.Code     = applicationViewModel.Code;
                        application.Domain   = applicationViewModel.Domain;
                        application.Culture  = applicationViewModel.Culture;
                        application.TimeZone = applicationViewModel.TimeZone;
                        application.Status   = applicationViewModel.Status;

                        if (ModelState.IsValid)
                        {
                            // Update application
                            ctx.Entry(application).State = EntityState.Modified;
                            ctx.SaveChanges();
                            return(RedirectToAction("Index"));
                        }
                        ViewBag.TenantId = new SelectList(ctx.Tenants.ToList(), "TenantId", "Name");
                    }
                    else
                    {
                        return(View("Authorize"));
                    }
                }
            }

            catch (Exception ex)
            {
                LogService.Info("Applications not found", ex.Message, ex.InnerException);
            }

            return(View(applicationViewModel));
        }
        public async Task <IActionResult> EditAsync(EditApplicationViewModel model)
        {
            if (ModelState.IsValid)
            {
                VendorApplication application = await _vendorApplicationRepository.GetApplicationByIdAsync(model.VendorApplicationId);

                application.ApplicantName   = model.FullName;
                application.ApplicationDate = DateTime.Now;

                //make all application pending after editing
                application.Status        = "Pending";
                application.RejectMessage = null;

                if (model.IdProof != null)
                {
                    if (model.ExitingIdProofURL != null)
                    {
                        string filePath = Path.Combine(_webHostEnvironment.WebRootPath + model.ExitingIdProofURL);
                        System.IO.File.Delete(filePath);
                    }

                    application.IdProofUrl = ProcessUploadedImage(model.IdProof);
                }

                if (model.ResidencyProof != null)
                {
                    if (model.ExistingResidencyProofURL != null)
                    {
                        string filePath = Path.Combine(_webHostEnvironment.WebRootPath + model.ExistingResidencyProofURL);
                        System.IO.File.Delete(filePath);
                    }

                    application.ResidencyProofUrl = ProcessUploadedImage(model.ResidencyProof);
                }

                await _vendorApplicationRepository.UpdateApplicationAsync(application);

                return(RedirectToAction("MyApplications", new { applicantId = application.ApplicantId }));
            }
            return(View());
        }
Exemple #13
0
        public ActionResult Create()
        {
            //making the list of status

            List <Models.Domain.ApplicationType> type = new List <Models.Domain.ApplicationType>();

            foreach (Models.Domain.ApplicationType t in Enum.GetValues(typeof(Models.Domain.ApplicationType)))
            {
                type.Add(t);
            }

            Application a = new Application();
            EditApplicationViewModel avm = new EditApplicationViewModel(a)
            {
                SelectedStatusId = type.FirstOrDefault().ToString(),
                TypeList         = type.Select(t => new SelectListItem
                {
                    Value = t.ToString(),
                    Text  = t.ToString()
                }),
            };

            return(View(avm));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //Create the model
            var model = new EditApplicationViewModel();

            try
            {
                using (var ctx = new SaasDbContext())
                {
                    //Get application from db
                    var application = ctx.Applications.Find(id);

                    if (User.IsInRole("SystemAdministrator") || application.TenantId == CurrentTenant.TenantId)
                    {
                        // Add application item to model
                        model.Id       = application.Id;
                        model.Name     = application.Name;
                        model.ParentId = application.ParentId;
                        model.TenantId = application.TenantId;
                        model.TimeZone = application.TimeZone;
                        model.Code     = application.Code;
                        model.Culture  = application.Culture;
                        model.Domain   = application.Domain;
                        model.Created  = application.Created;
                        model.Status   = application.Status;
                    }
                    else
                    {
                        return(View("Authorize"));
                    }

                    if (model == null)
                    {
                        return(View("Error"));
                    }
                }
                // Create the breadcrumb
                var breadcrumb = new List <BreadcrumbItemViewModel>();
                breadcrumb.Add(new BreadcrumbItemViewModel()
                {
                    Text = "Applications",
                    Link = "/Applications"
                });

                breadcrumb.Add(new BreadcrumbItemViewModel()
                {
                    Text = model.Name.ToString(),
                    Link = "/Application/" + id + "/Details"
                });

                breadcrumb.Add(new BreadcrumbItemViewModel()
                {
                    Text = "Edit"
                });

                ViewBag.Breadcrumb = breadcrumb;
            }

            catch (Exception ex)
            {
                LogService.Info("Application not found", ex.Message, ex.InnerException);
            }

            return(View(model));
        }
Exemple #15
0
        public async Task <IActionResult> Edit(EditApplicationViewModel request,
                                               List <string> Transport, string OtherTransport,
                                               List <string> Foundation, string OtherFoundation)
        {   // получаем текущего пользователя
            Application app = _context.Application.Where(m => m.Id == request.Id).FirstOrDefault();

            if (app == null)
            {
                return(RedirectToAction("Index", "Applications"));
            }
            if (ModelState.IsValid)
            {
                //получаем время открытия
                DateTime current = DateTime.Now;

                string temp;
                foreach (string f in Foundation)
                {
                    temp = f;
                    if (f == "Інше")
                    {
                        temp = OtherFoundation;
                    }
                    if (!_context.Foundation.Select(n => n.Trip_Foundation).Contains(temp))
                    {
                        _context.Foundation.Add(new Foundation {
                            Trip_Foundation = temp
                        });
                        _context.SaveChanges();
                    }
                    if (_context.App_Fundation.Where(af => af.ApplicationId == request.Id &&
                                                     af.FundationId == _context.Foundation.FirstOrDefault(f => f.Trip_Foundation == temp).Id).Count() == 0)
                    {
                        _context.App_Fundation.Add(new App_Fundation
                        {
                            ApplicationId = request.Id,
                            FundationId   = _context.Foundation.FirstOrDefault(n => n.Trip_Foundation == temp).Id
                        });
                    }
                    _context.SaveChanges();
                }

                foreach (string t in Transport)
                {
                    temp = t;
                    if (t == "Інше")
                    {
                        temp = OtherTransport;
                    }
                    if (!_context.Transport.Select(n => n.TransportType).Contains(temp))
                    {
                        _context.Transport.Add(new Transport {
                            TransportType = temp
                        });
                        _context.SaveChanges();
                    }
                    if (_context.App_Transport.Where(at => at.ApplicationId == request.Id &&
                                                     at.TransportId == _context.Transport.FirstOrDefault(t => t.TransportType == temp).Id).Count() == 0)
                    {
                        _context.App_Transport.Add(new App_Transport
                        {
                            ApplicationId = request.Id,
                            TransportId   = _context.Transport.FirstOrDefault(n => n.TransportType == temp).Id
                        });
                    }
                    _context.SaveChanges();
                }

                app.Institution             = request.Institution;
                app.Email                   = request.Email;
                app.End_date                = request.End_date;
                app.Fullname                = request.Fullname;
                app.InstitutionLocation     = request.InstitutionLocation;
                app.Itinerary               = request.Itinerary;
                app.Main_place_of_work      = request.Main_place_of_work;
                app.Payment                 = request.Payment;
                app.Position_in_combination = request.Position_in_combination;
                app.Purpose                 = request.Purpose;
                app.Saving_salary           = request.Saving_salary;
                app.Start_date              = request.Start_date;
                app.Trip_city               = request.Trip_city;
                app.Trip_country            = request.Trip_country;
                app.App_fundation_Id        = request.Id;

                app.App_transport_Id = request.Id;

                if (ModelState.IsValid)
                {
                    try
                    {
                        _context.Update(app);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!ApplicationExists(app.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction("Index"));
                }
            }
            return(RedirectToAction("Edit"));
        }
        public ActionResult Details(int id, int formId, IForm editApp)
        {
            IForm form = (editApp is Form)
                ? _context.Forms.Where(x => x.Id == formId).Include(x => x.Application).FirstOrDefault()
                : (IForm)_context.ProjectInfos.Where(x => x.Id == formId).Include(x => x.Application).FirstOrDefault();
            var applicant = this.GetCurrentApplicant();

            if (form == null || applicant.Applications.All(x => x.Id != form.ApplicationId))
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            var application = form.Application;

            if (!application.CanEdit && !(form is PaymentForm))
            {
                return(RedirectToAction("Review", new { id = form.ApplicationId }));
            }
            // Get current form

            // Ensure all files have been updated
            if (form is UploadableFileForm)
            {
                var errorProperty = ((UploadableFileForm)form).FindEmptyFileProperty();
                if (errorProperty.HasValue)
                {
                    ModelState.AddModelError(errorProperty.Value.UniqueKey, "Please upload a " + errorProperty.Value.StandardName + " file");
                }
            }

            // Ensure Model Validation
            if (!ModelState.IsValid)
            {
                // Copy Values of form into the model binded application.
                // This copies in "reverse" flow, meaning that everything that is not mdoel binded by default should be copied
                editApp.CopyValues(form, true);
                EditApplicationViewModel toEdit = new EditApplicationViewModel()
                {
                    Application = application,
                    Forms       = application.GetOrderedForms(),
                    FormId      = form.Id,
                    Form        = editApp // Optional Value, lets the UI display the form that
                                          //was marked incorrect (instead of displaying an empty form)
                };
                return(View("Details", toEdit));
            }

            // Ensure that nobody messed with the form params by checking application type before copying
            if (editApp.GetType() != ObjectContext.GetObjectType(form.GetType()))
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            // Notify all Observing forms within the application that a single form has been updated
            application.FormUpdated(_context, form, editApp);

            form.CopyValues(editApp);

            _context.SaveChanges();

            TempData["SavedForm"] = form.DisplayName;
            return(RedirectToAction("Details", "Applications", new { id = application.Id, formId = form is BasicProjectInfo ? 0 : form.Id }));
        }
Exemple #17
0
 private void MapToApplication(EditApplicationViewModel model, Application ap)
 {
     ap.Name          = model.Name;
     ap.Type          = getEnum(model.SelectedStatusId);
     ap.ApplicationId = model.Id;
 }