Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public FormResponse Any(GetFormRequest request)
        {
            var response = new  FormResponse();

            response.Data = Db.Single <Form>(request.Id);
            return(response);
        }
Пример #2
0
        public async Task <List <FormTemplateDto> > GetForms(GetFormRequest request)
        {
            IEnumerable <Form> forms;

            if (request.FormId > 0)
            {
                forms = await _dynamicFormDataContext.Forms.Where(r => r.FormId == request.FormId).ToListAsync();
            }
            else
            {
                forms = await _dynamicFormDataContext.Forms.ToListAsync();
            }

            return(BuildFormTemplateDto(forms));
        }
Пример #3
0
 public JsonResult GetForm(GetFormRequest request)
 {
     //var viewModel = service.GetForm(request);
     //return Json(viewModel, JsonRequestBehavior.DenyGet);
     return(null);
 }
Пример #4
0
        public GetFormResponse GetForm(GetFormRequest request)
        {
            GetFormResponse viewModel = new GetFormResponse();

            try
            {
                OriginDataContext context = new OriginDataContext();

                // TODO: per adesso cerca solo in base al tipo, bisogna aggiungere le azioni all'item
                // ed utilizzare questa relazione per filtrare ulteriormente le form
                // N.B Questa query cambierà molto

                // Ho il tipo di item, il nome dell'azione

                var form = context.OR_ItemActions
                           .Where(ia => ia.Name.Equals(request.ActionName))
                           //.Join(context.OR_ItemTypes,
                           //    ia => ia.ItemTypeOriginId,
                           //    it => it.OriginId,
                           //    (ia, it) => new
                           //    {
                           //        ItemTypeName = it.Name,
                           //        ItemActionFormOriginId = ia.FormOriginId
                           //    })
                           //.Where(f => f.ItemTypeName.Equals(request.ItemType))
                           .Where(ia => ia.ItemTypeOriginId.Equals(request.ItemTypeOriginId))
                           .Join(context.OR_Forms,
                                 j => j.FormOriginId,
                                 f => f.OriginId,
                                 (j, f) => new
                {
                    Name     = f.Name,
                    OriginId = f.OriginId
                })
                           .FirstOrDefault();

                if (form == null)
                {
                    // TODO: l'errore dovrebbe essere letto dalle risorse
                    throw new Exception("Form non presente in configurazione. Controlla il database");
                }

                viewModel.Name = form.Name;

                viewModel.Inputs = context.OR_Inputs
                                   .Where(i => i.RelatedOriginId.Equals(form.OriginId))
                                   .Select(i => new GetFormResponse.Input()
                {
                    Id       = i.Id,
                    OriginId = i.OriginId,
                    Name     = i.Name,
                    Type     = i.Type,
                    // TODO: pensare come gestire il campo required
                    Required = "",
                    Values   = i.Type.Equals("Lookup") ? GetLookupValuesByLookupName(i.Name) : null
                })
                                   .ToList();
            }
            catch (Exception exc)
            {
                viewModel.ResultInfo.Result       = Base.ResultInfoDto.ResultEnum.Error;
                viewModel.ResultInfo.ErrorMessage = exc.Message;
            }

            return(viewModel);
        }
Пример #5
0
 public async Task <List <FormTemplateDto> > GetForms([FromHeader] GetFormRequest request)
 {
     return(await _formsAppService.GetForms(request));
 }