public CardWorkCrudController()
        {
            Post("/api/v1/card/work/submit", _ => {
                var errors = ValidationProcessor.Process(Request, new IValidatorRule[] {
                    new ShouldHaveParameters(new[] { "card_guid", "work_type_guid", "proof" }),
                    new ExistsInTable("card_guid", "cards", "guid"),
                    new ExistsInTable("work_type_guid", "project_work_types", "guid"),
                });
                if (errors.Count > 0)
                {
                    return(HttpResponse.Errors(errors));
                }

                var me = UserRepository.Find(CurrentRequest.UserId);

                var card = CardRepository.FindByGuid(GetRequestStr("card_guid"));

                var workType = ProjectWorkTypeRepository.FindBy(
                    "guid", GetRequestStr("work_type_guid")
                    );

                var work = CardWorkRepository.CreateAndGet(
                    me, card, workType, GetRequestStr("proof")
                    );

                return(HttpResponse.Item("work_item", new CardWorkTransformer().Transform(work)));
            });
        }
Пример #2
0
 public ProjectWorkType WorkType() => ProjectWorkTypeRepository.Find(work_type_id);