Esempio n. 1
0
        private bool ValidateOrganizationForFollowUpUpdate(OrganizationDto organization,
                                                           InfoSessionFollowUpStatus newStatus)
        {
            if (organization == default)
            {
                ValidationDictionary.AddModelError("OrganizationId", "Organization with specified Id does not exist");

                return(false);
            }

            if (organization.FollowUpStatus == newStatus)
            {
                ValidationDictionary.AddModelError("No change", "Organization already has specified status");

                return(false);
            }

            if (organization.FollowUpStatus == InfoSessionFollowUpStatus.NotSent)
            {
                ValidationDictionary.AddModelError("Follow up", "First send follow up in order to update it.");

                return(false);
            }

            return(true);
        }
Esempio n. 2
0
        public async Task UpdateStatusAsync(Guid organizationId, InfoSessionFollowUpStatus newStatus)
        {
            await using var context = ContextFactory.CreateDataContext(null);
            var organizationItems = context.Set <Organization>();
            var organization      = await organizationItems.AsNoTracking()
                                    .Include(org => org.InfoSessionFollowUp)
                                    .FirstOrDefaultAsync(org => org.Id == organizationId)
                                    .ConfigureAwait(false);

            var entityToUpdate = organization.InfoSessionFollowUp;

            if (entityToUpdate != default)
            {
                entityToUpdate.Status = newStatus;
                context.Entry(entityToUpdate).Property(followUp => followUp.Status).IsModified = true;
                context.Set <InfoSessionFollowUp>().Update(entityToUpdate);

                await context.SaveChangesAsync().ConfigureAwait(false);
            }
        }
Esempio n. 3
0
        public async Task UpdateStatusAsync(string token, InfoSessionFollowUpStatus newStatus)
        {
            if (string.IsNullOrWhiteSpace(token))
            {
                throw new ArgumentNullException(nameof(token));
            }

            await using var context = ContextFactory.CreateDataContext(null);
            var items          = context.Set <InfoSessionFollowUp>();
            var entityToUpdate = await items.AsNoTracking()
                                 .FirstOrDefaultAsync(item => item.Token == token)
                                 .ConfigureAwait(false);

            if (entityToUpdate != default)
            {
                entityToUpdate.Status = newStatus;
                context.Entry(entityToUpdate).Property(followUp => followUp.Status).IsModified = true;
                items.Update(entityToUpdate);

                await context.SaveChangesAsync().ConfigureAwait(false);
            }
        }