Example #1
0
        private ApplicationDetailsDto CreateTestApplication()
        {
            var application = new ApplicationDetailsDto
            {
                ApplicationReference = "Throwback Thursday",
                LegalInfo            = new LegalInfoDto
                {
                    MerchantLegalInfo = new MerchantLegalInfoDto
                    {
                        MerchantGuid   = merchantGuid,
                        RegisteredName = "Doctor Sleep Ltd",
                    },
                    BacsName = "Playlistadelic",
                    CurrentOverdraftLimit = 2000000,
                },
                Locations = new List <LocationDto>()
                {
                    new LocationDto()
                    {
                        BusinessName  = "Throwback Thursday Will Kick Your Butt Ltd",
                        Opportunities = new List <OpportunityDto>()
                        {
                            new OpportunityDto()
                            {
                                AcquirerLocationMID = "Hello"
                            }
                        },
                        LocationReference = "Our Pimpin' HQ",
                        TradingAddress    = new FullAddressDto() //  We want this one blank.
                    }
                }
            };

            return(application);
        }
Example #2
0
        public async Task <IActionResult> Details(int id, ApplicationDetailsDto application)
        {
            await _mendelCoreServices.UpdateApplication(application);

            return(RedirectToAction(nameof(Index)));
        }
Example #3
0
        public async Task <IActionResult> Create(ApplicationDetailsDto application)
        {
            await _mendelCoreServices.Create(application);

            return(RedirectToAction(nameof(Index)));
        }
Example #4
0
 public async Task PutApplicationAsync(int id, ApplicationDetailsDto application)
 {
     await this.appService.UpdateApplicationAsync(id, application);
 }
        public async Task UpdateApplicationAsync(int id, ApplicationDetailsDto application)
        {
            if (this.IsAdministrator() && this.IsApplicationAuthor(application.UserId))
            {
                throw new InvalidOperationException("You cannot update this application!");
            }

            var existingApp = await this.dbContext
                              .Applications
                              .SingleOrDefaultAsync(app => app.Id == id);

            existingApp.FirstName       = application.FirstName;
            existingApp.LastName        = application.LastName;
            existingApp.Municipality    = application.Municipality;
            existingApp.Region          = application.Region;
            existingApp.City            = application.City;
            existingApp.Street          = application.Street;
            existingApp.ApplicationType = application.ApplicationType;

            var existingQualifications = await this.dbContext
                                         .QualificationsInformation
                                         .Where(q => q.ApplicationId == application.Id)
                                         .ToListAsync();

            var forAdd = application.QualificationInformation.Where(q => !existingQualifications.Any(eq => eq.Id == q.QualificationId));

            if (forAdd.Any())
            {
                foreach (var qualification in forAdd)
                {
                    var newQualification = new QualificationInformation
                    {
                        StartDate         = qualification.StartDate,
                        EndDate           = qualification.EndDate,
                        DurationDays      = qualification.DurationDays,
                        Description       = qualification.Description,
                        TypeQualification = qualification.TypeQualification,
                        ApplicationId     = application.Id
                    };

                    existingApp.QualificationInformation.Add(newQualification);
                }
            }

            var forDelete = existingQualifications.Where(eq => !application.QualificationInformation.Any(qi => qi.QualificationId == eq.Id));

            if (forDelete.Any())
            {
                this.dbContext.QualificationsInformation.RemoveRange(forDelete);
            }

            var forUpdate = existingQualifications.Where(eq => application.QualificationInformation.Any(qi => qi.QualificationId == eq.Id));

            foreach (var qualificationToUpdate in forUpdate)
            {
                var qualification = application.QualificationInformation.Single(q => q.QualificationId == qualificationToUpdate.Id);

                qualificationToUpdate.Description       = qualification.Description;
                qualificationToUpdate.StartDate         = qualification.StartDate;
                qualificationToUpdate.EndDate           = qualification.EndDate;
                qualificationToUpdate.DurationDays      = qualification.DurationDays;
                qualificationToUpdate.TypeQualification = qualification.TypeQualification;
            }

            await this.dbContext.SaveChangesAsync();
        }
 public Task Create(ApplicationDetailsDto application)
 {
     throw new NotImplementedException();
 }