/// <summary>
        ///     Отчет о доходах от управляющей компании
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        public CompositeData CreateReport(CreateCompanyReportForm form)
        {
            var lastActual = _repositories.VotingPeriod.LastActual();

            var deposits = _repositories.Depositories.GetAll();
            if (deposits == null)
                return new CompositeData("Жертвователи не зарегестрированы, или не закрепили за собой пожертвования");
            if (lastActual != null)
            {
                if (lastActual.VotingNow)
                    return new CompositeData("Невозможно создать отчет, голосование ещё не закончено");

                var reportCouncil = _repositories.VotingPeriodReport.Find(lastActual.Id);
                if (reportCouncil != null && !reportCouncil.UserAcceptedProjectIds.IsNullOrEmpty())
                    return
                        new CompositeData(
                            "Попечительский совет ещё не принял решение по всем проектам прошлого голосования");
            }

            var endOfDate = DateTime.MaxValue;
            _handlers.VotingPeriod.Create(DateTime.Now, endOfDate, form.Deposite);

            _handlers.SaveChanges();
            var result = _votingService.StartVoting();
            if (!result.Success)
                return result;
            return new CompositeData("Отчет успешно создан", true);
        }
Esempio n. 2
0
        public ActionResult CreateCompanyReport(CreateCompanyReportForm form)
        {
            if (!ModelState.IsValid) return View(form);

            var result = _companyReportService.CreateReport(form);
            ViewBag.Message = result.Message;
            return View(form);
        }
Esempio n. 3
0
 public ActionResult CreateCompanyReport()
 {
     var model = new CreateCompanyReportForm();
     return View(model);
 }