Exemplo n.º 1
0
        public JsonResult GetGridColStructure(int id)
        {
            var DHeader = ctx.TfatDesignHeaders.Single(h => h.HeaderRecordKey == id);
            var DForms  = DHeader.TfatDesignForms.Where(f => f.TabName.ToUpper().Equals("GRID")).OrderBy(f => Math.Abs(Convert.ToDecimal(f.DisplayOrder)));

            List <string>     colName  = new List <string>();
            List <string>     colNm    = new List <string>();
            List <object>     result   = new List <object>();
            List <GridColumn> colModel = new List <GridColumn>();

            foreach (var DForm in DForms)
            {
                colName.Add(DForm.LabelCaption);
                colNm.Add(DForm.Fld);
                GridColumn gc = new GridColumn();
                gc.name  = DForm.LabelCaption;
                gc.index = DForm.Fld;
                gc.key   = (DHeader.IDKey.Split('^').LastOrDefault() == DForm.Fld ? true : false);
                if (gc.key == false)
                {
                    gc.editable = true;
                    if (DForm.fType == "D")
                    {
                        gc.edittype = "select";
                    }
                    else
                    {
                        gc.edittype = "text";
                    }
                }
                colModel.Add(gc);
            }

            result.Add(CoreCommon.GetString(colName.ToArray()));
            result.Add(colModel);

            JsonResult JR = new JsonResult();

            JR.Data = Newtonsoft.Json.JsonConvert.SerializeObject(result);

            return(JR);
        }
Exemplo n.º 2
0
        private string[] GetStringArr(string p, int HeaderId, string IDKey)
        {
            var    DHeader   = ctx.TfatDesignHeaders.Single(h => h.HeaderRecordKey == HeaderId);
            var    DForms    = DHeader.TfatDesignForms.Where(f => f.TabName.ToUpper().Equals("GRID")).OrderBy(f => Math.Abs(Convert.ToDecimal(f.DisplayOrder)));
            int    frmcount  = DForms.Count();
            string TableName = DHeader.TfatDesignForms.First(f => f.TabName.ToUpper().Equals("GRID")).Fle;
            object obj       = CoreCommon.GetTableObject(TableName);

            var resultDB = ctx.Set(obj.GetType()).SqlQuery("Select * from [" + TableName + "] Where " + IDKey + " = @ID", new SqlParameter("@ID", p)).ToListAsync().Result;

            string[] col = new string[frmcount];

            foreach (var colfrm in resultDB)
            {
                int i = 0;
                foreach (TfatDesignForm frm in DForms)
                {
                    col[i] = Convert.ToString(colfrm.GetType().GetProperty(frm.Fld).GetValue(colfrm));
                    i++;
                }
            }
            return(col);
        }
Exemplo n.º 3
0
        public object Get(string sidx, string sord, int page, int rows)
        {
            int id = Convert.ToInt32(HttpContext.Current.Request.Url.Segments.Last());

            string viewtype = HttpContext.Current.Request.UrlReferrer.Segments.Last();

            string querystring = HttpContext.Current.Request.UrlReferrer.Query.ToString();

            int childid = Convert.ToInt32(string.IsNullOrEmpty(querystring) ? "0" : querystring.Split(new char[] { '=' }).LastOrDefault());

            var DHeader = ctx.TfatDesignHeaders.Single(h => h.HeaderRecordKey == id);

            var DForms = DHeader.TfatDesignForms.Where(f => f.TabName.ToUpper().Equals("GRID")).OrderBy(f => Math.Abs(Convert.ToDecimal(f.DisplayOrder)));

            string TableName = DHeader.TfatDesignForms.First(f => f.TabName.ToUpper().Equals("GRID")).Fle;
            object obj       = CoreCommon.GetTableObject(TableName);

            IEnumerable <object> resultDB = ctx.Set(obj.GetType()) as IEnumerable <object>;

            string[] IDs = DHeader.IDKey.Split('^');

            if (viewtype.ToUpper() != "GRID")
            {
                resultDB = from r in resultDB
                           where r.GetType().GetProperty(IDs.First()).GetValue(r).Equals(childid)
                           select r;
            }

            if (sord == "desc")
            {
                resultDB = from r in resultDB
                           orderby r.GetType().GetProperty(sidx).GetValue(r) descending
                           select r;
            }
            else
            {
                resultDB = from r in resultDB
                           orderby r.GetType().GetProperty(sidx).GetValue(r)
                           select r;
            }

            int count        = resultDB.Count();
            int pageIndex    = Convert.ToInt32(page) - 1;
            int pageSize     = rows;
            int totalRecords = count;
            int totalPages   = (int)Math.Ceiling((float)totalRecords / (float)pageSize);

            var Data = resultDB.Skip(pageIndex * pageSize).Take(pageSize);

            var result = new
            {
                total   = totalPages,
                page    = page,
                records = totalRecords,
                rows    = (from dt in Data
                           select new
                {
                    i = dt.GetType().GetProperty(IDs.First()).GetValue(dt),
                    cell = GetStringArr(Convert.ToString(dt.GetType().GetProperty(viewtype.ToUpper().Equals("GRID") ? IDs.First() : IDs.Last()).GetValue(dt)), id, (viewtype.ToUpper().Equals("GRID") ? IDs.FirstOrDefault() : IDs.LastOrDefault()))
                }).ToArray()
            };

            return(result);
        }
        public ActionResult Master(string id, FormCollection collection)
        {
            string[] DynamicMaster = id.Split('_');
            //int DHeaderID = int.Parse(DynamicMaster.First());
            string DHeaderID = DynamicMaster.First();
            string VType     = DynamicMaster.Last();
            List <FormCollection> frmcollecttion = new List <FormCollection>();

            //TfatDesignHeader DHead = ctx.TfatDesignHeaders.First(h => h.HeaderRecordKey == DHeaderID);
            TfatDesignHeader DHead = ctx.TfatDesignHeaders.First(h => h.OptionCode == DHeaderID);
            object           hdnData;

            try
            {
                if (collection.AllKeys.AsEnumerable().Single(k => k.Equals("hdn")).Equals("hdn"))
                {
                    hdnData = JsonConvert.DeserializeObject(collection["hdn"].ToString());
                    JArray a = JArray.Parse(hdnData.ToString());
                    collection.Remove("hdn");
                    foreach (JObject fld in a.Children <JObject>())
                    {
                        FormCollection fc = new FormCollection();
                        foreach (JProperty p in fld.Properties())
                        {
                            string n = DHead.TfatDesignForms.Where(f => f.LabelCaption == p.Name).Select(f => f.Fld).ToList()[0].ToString();
                            string v = (p.Value as JValue).Value.ToString();
                            fc.Add(n, v);
                        }
                        fc.Add(DHead.IDKey.Split('^').FirstOrDefault(), collection[DHead.IDKey.Split('^').FirstOrDefault()]);
                        frmcollecttion.Add(fc);
                    }
                }
            }
            catch { }
            string message = string.Empty;

            switch (VType.ToUpper())
            {
            case "ADD":
                foreach (string TableName in DHead.TableName.Split('^'))
                {
                    var discTab = DHead.TfatDesignForms.Where(f => f.Fle == TableName).Select(f => f.TabName).Distinct();

                    if (discTab.ToList().SequenceEqual(new string[] { "Grid" }))
                    {
                        foreach (FormCollection fc in frmcollecttion)
                        {
                            DynAdd.DynamicAddMaster(fc, TableName, DHead.IDKey.Split('^').LastOrDefault());
                        }
                    }
                    else
                    {
                        message = DynAdd.DynamicAddMaster(collection, TableName, DHead.IDKey.Split('^').FirstOrDefault());
                    }
                }
                break;

            case "EDIT":
                foreach (string TableName in DHead.TableName.Split('^'))
                {
                    var discTab = DHead.TfatDesignForms.Where(f => f.Fle == TableName).Select(f => f.TabName).Distinct();

                    if (discTab.ToList().SequenceEqual(new string[] { "Grid" }))
                    {
                        DbSet    Table       = CoreCommon.GetTableData(TableName);
                        string   RemoveID    = DHead.IDKey.Split('^').LastOrDefault();
                        string   IDKey       = DHead.IDKey.ToString();
                        string   Where       = IDKey.ToString().Replace("^", "=@p1").Replace(RemoveID, "");
                        var      QryResult   = Table.SqlQuery("SELECT * FROM [" + TableName + "] WHERE " + Where, new object[] { new SqlParameter("@p1", collection[DHead.IDKey.Split('^').FirstOrDefault()]) }).ToListAsync().Result;
                        string[] ExistedCode = new string[QryResult.Count];
                        int      i           = 0;
                        foreach (var CodeResult in QryResult)
                        {
                            dynamic IDValue = CodeResult.GetType().GetProperty(DHead.IDKey.Split('^').LastOrDefault().ToString()).GetValue(CodeResult);
                            ExistedCode[i] = IDValue.ToString();
                            i++;
                        }
                        string[] AddedCode = new string[frmcollecttion.Count];
                        i = 0;
                        foreach (FormCollection fc in frmcollecttion)
                        {
                            Where = DHead.IDKey.ToString().Replace("^", "=@p1 AND ") + "=@p2;";
                            var QryResult1 = Table.SqlQuery("SELECT * FROM [" + TableName + "] WHERE " + Where, new object[] { new SqlParameter("@p1", collection[DHead.IDKey.Split('^').FirstOrDefault()]), new SqlParameter("@p2", fc[DHead.IDKey.Split('^').LastOrDefault().ToString()]) }).ToListAsync().Result;
                            if (QryResult1.Count == 0)
                            {
                                DynAdd.DynamicAddMaster(fc, TableName, DHead.IDKey.Split('^').LastOrDefault());
                            }
                            else
                            {
                                DynEdit.DynamicEditMaster(fc, TableName);
                                AddedCode[i] = fc[DHead.IDKey.Split('^').LastOrDefault().ToString()].ToString();
                                i++;
                            }
                        }
                        var DeleteCode = ExistedCode.Except(AddedCode);
                        foreach (var DeleteingCode in DeleteCode)
                        {
                            FormCollection fc = new FormCollection();
                            fc.Add(DHead.IDKey.Split('^').LastOrDefault().ToString(), DeleteingCode.ToString());
                            DynDel.DynamicDeleteMaster(TableName, DHead.IDKey.Split('^').LastOrDefault().ToString(), fc);
                        }
                    }
                    else
                    {
                        DynEdit.DynamicEditMaster(collection, TableName);
                    }
                }
                //DynamicEdit.DynamicEditMaster(DHeaderID, collection);
                break;

            case "DELETE":
                foreach (string TableName in DHead.TableName.Split('^').Reverse())
                {
                    //DynamicDelete.DynamicDeleteMaster(DHeaderID, collection);
                    DynDel.DynamicDeleteMaster(TableName, DHead.IDKey.Split('^').FirstOrDefault().ToString(), collection);
                }
                break;
            }
            //ViewList/Index/City
            return(Redirect("/ViewList/Index/" + DHeaderID + "?msg=" + message));//+ "/" + DynamicMaster[1] + "/List");
        }