Пример #1
0
        public async Task <ICommandResult> Handler(InsertReportCommandInput command)
        {
            var construction = _OREP.GetById(command.ConstructionId);
            var responsavel  = _RREP.GetById(command.ResponsibleId);
            await Task.WhenAll(construction, responsavel);

            var report = new Report(command.Title, command.Image, command.Description, responsavel.Result, construction.Result);

            if (report.Invalid)
            {
                return(new CommandResult(_BuildResult.BuildResult(report.Notifications)));
            }

            _RLREP.Insert(report);

            return(new CommandResult(new string[] { "Relatório inserido com Sucesso!" }));
        }
Пример #2
0
        public async Task <ICommandResult> Handler(UpdateConstructionCommandInput command)
        {
            var construction = _OREP.GetById(command.ConstructionId);
            var residente    = _RREP.GetByCREA(command.ResidentCrea);
            var fiscal1      = _RREP.GetByCREA(command.Fiscal1Crea);
            var fiscal2      = _RREP.GetByCREA(command.Fiscal2Crea);
            await Task.WhenAll(construction, residente, fiscal1, fiscal2);

            construction.Result.OptionalInformation(command.Image, residente.Result, fiscal1.Result, fiscal2.Result);
            construction.Result.Update(command.Name, command.Image, command.FinalDate);

            if (construction.Result.Invalid)
            {
                return(new CommandResult(_BuildResult.BuildResult(construction.Result.Notifications)));
            }

            await AddResponsaveis(command.creas, construction.Result);

            _OREP.Update(construction.Result);

            return(new CommandResult(new string[] { "Projeto de Construction Editado com Sucesso !" }));
        }
        public ActionResult AcceptConstruction(int constructionID)
        {
            var construction = constructionRepository.GetById(constructionID);
            var result       = constructionService.CanFinishOneTimeConstruction(construction, SessionHelper.CurrentEntity, SessionHelper.LoggedCitizen);

            if (result.IsError)
            {
                return(RedirectBackWithError(result));
            }

            var finishResult = constructionService.FinishOneTimeConstruction(construction);

            AddSuccess("Construction was accepted!");

            if (finishResult is Hotel)
            {
                return(RedirectToAction("View", "Hotel", new { hotelID = (finishResult as Hotel).ID }));
            }

            return(RedirectToHome());
        }