public HttpResponseMessage GetDLD_byORG()
        {
            string OrganizationOid = null;

            try
            {
                XpoTypesInfoHelper.GetXpoTypeInfoSource();
                XafTypesInfo.Instance.RegisterEntity(typeof(DLDArea));
                XafTypesInfo.Instance.RegisterEntity(typeof(Organization));
                List <listdetail> DLD = new List <listdetail>();



                XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);

                IObjectSpace ObjectSpace = directProvider.CreateObjectSpace();

                //IList<Organization> collection = ObjectSpace.GetObjects<Organization>(CriteriaOperator.Parse("GCRecord is null and IsActive = 1 and OrganizeNameTH LIKE 'เขต%'", null));
                IList <Organization> collection = ObjectSpace.GetObjects <Organization>(CriteriaOperator.Parse("GCRecord is null and IsActive = 1 and OrganizeNameTH like 'เขต%'", null));

                var query = from Q in collection orderby Q.OrganizeNameTH select Q;

                foreach (Organization row in query)
                {
                    listdetail listsa = new listdetail();
                    listsa.OId     = row.Oid.ToString();
                    listsa.DLDName = row.OrganizeNameTH;

                    IList <Organization> collection2 = ObjectSpace.GetObjects <Organization>(CriteriaOperator.Parse("GCRecord is null and IsActive = 1 and MasterOrganization ='" + row.Oid + "' ", null));
                    List <listDLD>       listDLDs    = new List <listDLD>();
                    foreach (Organization row2 in collection2)
                    {
                        listDLD item = new listDLD();
                        item.ORGOid           = row2.Oid.ToString();
                        item.OrganizationName = row2.OrganizeNameTH;
                        listDLDs.Add(item);
                    }
                    listsa.Detail = listDLDs;
                    DLD.Add(listsa);
                }
                return(Request.CreateResponse(HttpStatusCode.OK, DLD));
            }
            catch (Exception ex)
            {
                err2 err = new err2();
                err.message = ex.Message;
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));

                throw;
            }
        }
Пример #2
0
        public HttpResponseMessage getDLDarea()
        {
            try
            {
                XpoTypesInfoHelper.GetXpoTypeInfoSource();
                XafTypesInfo.Instance.RegisterEntity(typeof(DLDArea));
                XafTypesInfo.Instance.RegisterEntity(typeof(Organization));
                List <listdetail> DLD = new List <listdetail>();

                XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);

                IObjectSpace ObjectSpace = directProvider.CreateObjectSpace();

                //IList<Organization> collection = ObjectSpace.GetObjects<Organization>(CriteriaOperator.Parse("GCRecord is null and IsActive = 1 and OrganizeNameTH LIKE 'เขต%'", null));
                IList <Organization> collection = ObjectSpace.GetObjects <Organization>(CriteriaOperator.Parse("GCRecord is null and IsActive = 1 and OrganizeNameTH like 'เขต%'", null));

                var query = from Q in collection orderby Q.OrganizeNameTH select Q;
                {
                    if (query != null)
                    {
                        string Oidzone  = ConfigurationManager.AppSettings["Oidzoneall"];
                        string Textzone = ConfigurationManager.AppSettings["textzoneall"];
                        string OidOrg   = ConfigurationManager.AppSettings["OidOrgall"];
                        string TextOrg  = ConfigurationManager.AppSettings["textOrgall"];

                        listdetail listsa = new listdetail();
                        listsa.OId     = Oidzone;
                        listsa.DLDName = Textzone;

                        List <listDLD> listDLDs = new List <listDLD>();
                        listDLD        item     = new listDLD();
                        item.ORGOid           = OidOrg;
                        item.OrganizationName = TextOrg;
                        listDLDs.Add(item);
                        listsa.Detail = listDLDs;
                        DLD.Add(listsa);
                    }
                    foreach (Organization row in query)
                    {
                        listdetail listsa = new listdetail();
                        listsa.OId     = row.Oid.ToString();
                        listsa.DLDName = row.OrganizeNameTH;

                        IList <Organization> collection2 = ObjectSpace.GetObjects <Organization>(CriteriaOperator.Parse("GCRecord is null and IsActive = 1 and MasterOrganization ='" + row.Oid + "' ", null));
                        List <listDLD>       listDLDs    = new List <listDLD>();
                        //if (collection2 != null && listDLDs.Count == 0)
                        //{
                        //    string OidOrg = ConfigurationManager.AppSettings["OidOrgall"];
                        //    string TextOrg = ConfigurationManager.AppSettings["textOrgall"];
                        //    listDLD item = new listDLD();
                        //    item.ORGOid = OidOrg;
                        //    item.OrganizationName = TextOrg;
                        //    listDLDs.Add(item);

                        //}
                        foreach (Organization row2 in collection2)
                        {
                            listDLD item = new listDLD();
                            item.ORGOid           = row2.Oid.ToString();
                            item.OrganizationName = row2.OrganizeNameTH;
                            listDLDs.Add(item);
                        }
                        listsa.Detail = listDLDs;
                        DLD.Add(listsa);
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, DLD));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
        }