示例#1
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            MtdFormPartField = await _context.MtdFormPartField.Include(x => x.MtdFormList).FirstOrDefaultAsync(x => x.Id == id);

            if (MtdFormPartField == null)
            {
                return(NotFound());
            }

            MtdFormPart selfPart = await _context.MtdFormPart.FindAsync(MtdFormPartField.MtdFormPart);

            MtdForm = await _context.MtdForm.Include(m => m.MtdFormHeader).FirstOrDefaultAsync(x => x.Id == selfPart.MtdForm);

            IList <MtdFormPart> parts = await _context.MtdFormPart.Where(x => x.MtdForm == MtdForm.Id).OrderBy(x => x.Sequence).ToListAsync();

            FieldTypeName = await _context.MtdSysType.Where(x => x.Id == MtdFormPartField.MtdSysType).Select(x => x.Name).FirstOrDefaultAsync();

            if (MtdFormPartField.MtdSysType == 11)
            {
                string  formId   = MtdFormPartField.MtdFormList.MtdForm;
                MtdForm selfForm = await _context.MtdForm.FindAsync(formId);

                NameFormSelector = selfForm.Name;
            }

            ViewData["Parts"] = new SelectList(parts, "Id", "Name", selfPart.Id);

            return(Page());
        }
示例#2
0
        public IViewComponentResult Invoke(MtdFormPart part, DataSet model)
        {
            DataSet dataSet = new DataSet()
            {
                Store  = model.Store,
                Parts  = model.Parts.Where(x => x.Id == part.Id).ToList(),
                Stack  = model.Stack,
                Fields = model.Fields.Where(x => x.MtdFormPart == part.Id).OrderBy(x => x.Sequence).ToList()
            };

            string viewName = part.MtdSysStyle == 5 ? "Columns" : "Rows";

            return(View(viewName, dataSet));
        }
示例#3
0
        public async Task <IActionResult> OnPostPartDeleteAsync()
        {
            string partId = Request.Form["partId"];

            MtdFormPart mtdFormPart = new MtdFormPart
            {
                Id = partId
            };

            _context.MtdFormPart.Remove(mtdFormPart);
            await _context.SaveChangesAsync();


            return(Ok());
        }
示例#4
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            MtdFormPart = await _context.MtdFormPart.Include(m => m.MtdFormPartHeader).FirstOrDefaultAsync(x => x.Id == id);

            if (MtdFormPart == null)
            {
                return(NotFound());
            }

            MtdForm = await _context.MtdForm.Include(m => m.MtdFormHeader).Where(x => x.Id == MtdFormPart.MtdForm).FirstOrDefaultAsync();

            IList <MtdSysStyle> styles = await _context.MtdSysStyle.ToListAsync();

            ViewData["Styles"] = new SelectList(styles, "Id", "Name");

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(string idForm)
        {
            MtdForm = await _context.MtdForm.Include(m => m.MtdFormHeader).Where(x => x.Id == idForm).FirstOrDefaultAsync();

            if (MtdForm == null)
            {
                return(NotFound());
            }

            MtdFormPart = new MtdFormPart
            {
                Id      = Guid.NewGuid().ToString(),
                MtdForm = idForm,
            };

            return(Page());
        }
示例#6
0
        public async Task <IActionResult> OnPostPartCreateAsync()
        {
            IFormCollection requestForm = await Request.ReadFormAsync();

            string formId   = requestForm["formId"];
            string partId   = requestForm["partId"];
            string partName = requestForm["partName"];
            string partNote = requestForm["partNote"];

            bool check = Guid.TryParse(partId, out Guid result);

            if (!check)
            {
                partId = null;
            }

            bool isExists = await _context.MtdFormPart.Where(x => x.MtdForm == formId).AnyAsync();

            int seq = 0;

            if (isExists)
            {
                seq = await _context.MtdFormPart.Where(x => x.MtdForm == formId).MaxAsync(x => x.Sequence);
            }

            MtdFormPart mtdFormPart = new MtdFormPart
            {
                Id          = partId,
                Name        = partName,
                Description = partNote,
                Active      = true,
                MtdForm     = formId,
                Title       = true,
                MtdSysStyle = 4,
                Sequence    = seq + 1,
            };

            await _context.MtdFormPart.AddAsync(mtdFormPart);

            await _context.SaveChangesAsync();

            return(Ok());
        }
示例#7
0
        public async Task <IActionResult> OnPostPartEditAsync()
        {
            string formId    = Request.Form["formId"];
            string partId    = Request.Form["partId"];
            string partName  = Request.Form["partName"];
            string partNote  = Request.Form["partNote"];
            string partStyle = Request.Form["partStyle"];
            string partTitle = Request.Form["partTitle"];
            string partChild = Request.Form["partChild"];
            string partSeq   = Request.Form["partSeq"];

            int  styleId    = int.Parse(partStyle);
            int  sequence   = int.Parse(partSeq);
            bool titleCheck = bool.Parse(partTitle);
            bool childCheck = bool.Parse(partChild);

            MtdFormPart mtdFormPart = new MtdFormPart
            {
                Id          = partId,
                Name        = partName,
                Description = partNote,
                Active      = true,
                MtdForm     = formId,
                Title       = titleCheck,
                Child       = childCheck,
                MtdSysStyle = styleId,
                Sequence    = sequence
            };

            _context.MtdFormPart.Attach(mtdFormPart).State = EntityState.Modified;
            await _context.SaveChangesAsync();


            _context.Attach(mtdFormPart).State = EntityState.Modified;

            string idCheckBox = "header-delete";

            if (Request.Form[idCheckBox].FirstOrDefault() == null || Request.Form[idCheckBox].FirstOrDefault() == "false")
            {
                string    idInput = "header-file-upload-input";
                IFormFile file    = Request.Form.Files.FirstOrDefault(x => x.Name == idInput);
                if (file != null)
                {
                    byte[] streamArray = new byte[file.Length];
                    await file.OpenReadStream().ReadAsync(streamArray, 0, streamArray.Length);

                    MtdFormPartHeader header = new MtdFormPartHeader()
                    {
                        Id        = mtdFormPart.Id,
                        Image     = streamArray,
                        ImageSize = streamArray.Length,
                        ImageType = file.ContentType
                    };

                    bool exists = await _context.MtdFormPartHeader.Where(x => x.Id == mtdFormPart.Id).AnyAsync();

                    if (exists)
                    {
                        _context.Attach(header).State = EntityState.Modified;
                    }
                    else
                    {
                        _context.Attach(header).State = EntityState.Added;
                    }
                }
            }
            else
            {
                MtdFormPartHeader header = new MtdFormPartHeader()
                {
                    Id = mtdFormPart.Id
                };
                _context.Attach(header).State = EntityState.Deleted;
            }

            await _context.SaveChangesAsync();

            return(Ok());
        }