Пример #1
0
        public async Task <bool> UpdateGeometry(
            [FromServices] DataContext context,
            [ModelBinder(BinderType = typeof(JsonWithFilesFormDataModelBinder))] DisponibilizationGeometry model,
            IFormFile fileGeometry)
        {
            var process = await context.DisponibilizationProcesses
                          .AsNoTracking()
                          .FirstOrDefaultAsync(x => x.DisponibilizationProcessId == model.DisponibilizationProcessId);

            var geometry = await context.DisponibilizationGeometries
                           .AsNoTracking()
                           .FirstOrDefaultAsync(x => x.GeometryId == model.GeometryId);

            if (model.Type == "Preparação" && process.Task == ProcessTasks.GeometryPreparation)
            {
                process.Task = ProcessTasks.TechnicalAnalysis;

                process.IsPendent = true;

                EmailSenderDisponibilization.SendEmail("*****@*****.**", "",
                                                       $"Notificação do Banco de Áreas PCJ - Disponibilização (Processo {process.Protocol})", "", EmailTypes.Geometry);
            }
            if (model.Type == "Publicação" && process.Task == ProcessTasks.GeometryPublishing)
            {
                process.Task = ProcessTasks.Completion;

                process.IsPendent = true;

                EmailSenderDisponibilization.SendEmail("*****@*****.**", "",
                                                       $"Notificação do Banco de Áreas PCJ - Disponibilização (Processo {process.Protocol})", "", EmailTypes.GeometryPublication);
            }

            if (fileGeometry != null)
            {
                model.AttachmentPath = await AddFileAttachment(fileGeometry, process.Protocol);
            }

            geometry = model;
            context.Update(geometry);
            context.Update(process);

            return((await context.SaveChangesAsync()) > 0);
        }
Пример #2
0
        public async Task <ActionResult <DisponibilizationGeometry> > PostGeometry(
            [FromServices] DataContext context,
            [ModelBinder(BinderType = typeof(JsonWithFilesFormDataModelBinder))] DisponibilizationGeometry model,
            IFormFile fileGeometry)
        {
            if (ModelState.IsValid)
            {
                var process = await context.DisponibilizationProcesses
                              .AsNoTracking()
                              .FirstOrDefaultAsync(x => x.DisponibilizationProcessId == model.DisponibilizationProcessId);

                process.IsPendent = true;

                if (model.Type == "Preparação")
                {
                    process.Task = ProcessTasks.TechnicalAnalysis;

                    EmailSenderDisponibilization.SendEmail("*****@*****.**", "",
                                                           $"Notificação do Banco de Áreas PCJ - Disponibilização (Processo {process.Protocol})", "", EmailTypes.Geometry);
                }
                if (model.Type == "Publicação")
                {
                    process.Task = ProcessTasks.Completion;

                    EmailSenderDisponibilization.SendEmail("*****@*****.**", "",
                                                           $"Notificação do Banco de Áreas PCJ - Disponibilização (Processo {process.Protocol})", "", EmailTypes.GeometryPublication);
                }

                model.AttachmentPath = await AddFileAttachment(fileGeometry, process.Protocol);

                context.DisponibilizationGeometries.Add(model);
                context.Update(process);
                await context.SaveChangesAsync();

                return(model);
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }