public JsonResult OrganizationSave(List <ModuleNameList> moduleprevlist, string orgid)
        {
            EPortal.Models.OrganizationPage orgpage            = null;
            EPortal.Models.Previleage       Previleageforadmin = null;
            int result = 0;

            using (EPortalEntities entity = new EPortalEntities())
            {
                foreach (var module in moduleprevlist)
                {
                    foreach (var modulepage in module.modulepagelist)
                    {
                        var checkexistornot = (from op in entity.OrganizationPages
                                               where op.OrganizationID == orgid &&
                                               op.PageId == modulepage.Id
                                               select op).FirstOrDefault();
                        string code = string.Empty;
                        if (module.Code == "OrganizationSetup" || module.Code == "UserManagement" || module.Code == "SchoolSetup" || module.Code == "Fee")
                        {
                            code = "Admin";
                        }
                        else
                        {
                            code = "Applicant";
                        }
                        var getroleid = (from r in entity.RoleMasters
                                         where r.OrganizationID == orgid &&
                                         r.Code == code
                                         select r).FirstOrDefault();
                        if (checkexistornot != null)
                        {
                            if (modulepage.Create == false)
                            {
                                entity.Entry(checkexistornot).State = System.Data.Entity.EntityState.Deleted;


                                if (getroleid != null)
                                {
                                    var prev = (from p in entity.Previleages
                                                where p.OrganizationID == orgid &&
                                                p.PageId == modulepage.Id &&
                                                p.RoleId == getroleid.Id
                                                select p).FirstOrDefault();
                                    if (prev != null)
                                    {
                                        entity.Entry(checkexistornot).State = System.Data.Entity.EntityState.Deleted;
                                    }
                                }
                            }
                            else
                            {
                                entity.Entry(checkexistornot).State = System.Data.Entity.EntityState.Modified;
                            }
                        }
                        else
                        {
                            if (modulepage.Create == true)
                            {
                                orgpage                     = new OrganizationPage();
                                orgpage.Id                  = Guid.NewGuid().ToString();
                                orgpage.OrganizationID      = orgid;
                                orgpage.PageId              = modulepage.Id;
                                orgpage.CreateDateTime      = System.DateTime.Now;
                                orgpage.RowState            = true;
                                entity.Entry(orgpage).State = System.Data.Entity.EntityState.Added;

                                Previleageforadmin                     = new Previleage();
                                Previleageforadmin.Id                  = Guid.NewGuid().ToString();
                                Previleageforadmin.RoleId              = getroleid.Id;
                                Previleageforadmin.PageId              = modulepage.Id;
                                Previleageforadmin.OperationId         = string.Empty;
                                Previleageforadmin.PCreate             = true;
                                Previleageforadmin.PUpdate             = true;
                                Previleageforadmin.PDelete             = true;
                                Previleageforadmin.PView               = true;
                                Previleageforadmin.OrganizationID      = orgid;
                                Previleageforadmin.RowState            = true;
                                Previleageforadmin.CreateDateTime      = System.DateTime.Now;
                                entity.Entry(Previleageforadmin).State = System.Data.Entity.EntityState.Added;
                                entity.Previleages.Add(Previleageforadmin);
                            }
                        }
                    }
                }
                result = entity.SaveChanges();
            }
            return(Json(result > 0 ? true : false, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public void Register() {
            Handle.GET("/people/partials/organizations", () => {
                OrganizationsPage p = new OrganizationsPage() {
                    Html = "/People/viewmodels/OrganizationsPage.html"
                };

                p.RefreshOrganizations();

                return p;
            });

            Handle.GET("/people/partials/persons", () => {
                PersonsPage p = new PersonsPage() {
                    Html = "/People/viewmodels/PersonsPage.html"
                };

                p.RefreshPersons();

                return p;
            });

            Handle.GET("/people/partials/organizations-add", () => {
                return Db.Scope<OrganizationPage>(() => {
                    OrganizationPage page = new OrganizationPage() {
                        Html = "/People/viewmodels/OrganizationPage.html"
                    };

                    page.RefreshOrganization();

                    return page;
                });
            });

            Handle.GET("/people/partials/organizations/{?}", (string id) => {
                int level = Handle.CallLevel;

                if (level == 1) {
                    return Db.Scope<OrganizationPage>(() => {
                        OrganizationPage page = new OrganizationPage() {
                            Html = "/People/viewmodels/OrganizationPage.html"
                        };

                        page.RefreshOrganization(id);

                        return page;
                    });
                } else {
                    return Db.Scope<OrganizationSmallPage>(() => {
                        OrganizationSmallPage page = new OrganizationSmallPage();

                        //Temporary fix.
                        page.Html = "/People/viewmodels/OrganizationSmallPage.html";
                        page.RefreshOrganization(id);

                        return page;
                    });
                }
            });

            Handle.GET("/people/partials/persons-add", () => {
                return Db.Scope<PersonPage>(() => {
                    PersonPage page = new PersonPage() {
                        Html = "/People/viewmodels/PersonPage.html"
                    };

                    page.RefreshPerson();

                    return page;
                });
            });

            Handle.GET<string>("/people/partials/persons/{?}", (string id) => {
                return Db.Scope<PersonPage>(() => {
                    PersonPage page = new PersonPage() {
                        Html = "/People/viewmodels/PersonPage.html"
                    };

                    page.RefreshPerson(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/organization-persons/{?}", (string id) => {
                return Db.Scope<OrganizationPersonPage>(() => {
                    OrganizationPersonPage page = new OrganizationPersonPage();

                    page.RefreshOrganizationPerson(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/address-relations/{?}", (string id) => {
                return Db.Scope<AddressRelationPage>(() => {
                    AddressRelationPage page = new AddressRelationPage() {
                        Html = "/People/viewmodels/AddressRelationPage.html"
                    };

                    page.RefreshAddressRelation(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/addresses/{?}", (string id) => {
                return Db.Scope<AddressPage>(() => {
                    AddressPage page = new AddressPage() {
                        Html = "/People/viewmodels/AddressPage.html"
                    };

                    page.RefreshAddress(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/email-address-relations/{?}", (string id) => {
                return Db.Scope<EmailAddressRelationPage>(() => {
                    EmailAddressRelationPage page = new EmailAddressRelationPage() {
                        Html = "/People/viewmodels/EmailAddressRelationPage.html"
                    };

                    page.RefreshEmailAddressRelation(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/email-addresses/{?}", (string id) => {
                return Db.Scope<EmailAddressPage>(() => {
                    EmailAddressPage page = new EmailAddressPage() {
                        Html = "/People/viewmodels/EmailAddressPage.html"
                    };

                    page.RefreshAddress(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/phone-number-relations/{?}", (string id) => {
                return Db.Scope<PhoneNumberRelationPage>(() => {
                    PhoneNumberRelationPage page = new PhoneNumberRelationPage() {
                        Html = "/People/viewmodels/PhoneNumberRelationPage.html"
                    };

                    page.RefreshPhoneNumberRelation(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/phone-number/{?}", (string id) => {
                return Db.Scope<PhoneNumberPage>(() => {
                    PhoneNumberPage page = new PhoneNumberPage() {
                        Html = "/People/viewmodels/PhoneNumberPage.html"
                    };

                    page.RefreshPhoneNumber(id);

                    return page;
                });
            });

            Handle.GET("/people/partials/search/{?}", (string query) => {
                SearchPage page = new SearchPage() {
                    Html = "/People/viewmodels/SearchPage.html"
                };

                SearchProvider provider = new SearchProvider();
                int fetch = 5;

                foreach (Organization item in provider.SelectOrganizations(query, fetch)) {
                    page.Organizations.Add(Self.GET<Json>("/people/partials/search-organization/" + item.Key));
                }

                foreach (Person item in provider.SelectPersons(query, fetch)) {
                    page.Persons.Add(Self.GET<Json>("/people/partials/search-person/" + item.Key));
                }

                return page;
            });

            Handle.GET("/people/partials/search-organization/{?}", (string id) => {
                SearchOrganizationPage page = new SearchOrganizationPage() {
                    Html = "/People/viewmodels/SearchOrganizationPage.html"
                };

                page.Data = DbHelper.FromID(DbHelper.Base64DecodeObjectID(id)) as Organization;

                return page;
            });

            Handle.GET("/people/partials/search-person/{?}", (string id) => {
                SearchPersonPage page = new SearchPersonPage() {
                    Html = "/People/viewmodels/SearchPersonPage.html"
                };

                page.Data = DbHelper.FromID(DbHelper.Base64DecodeObjectID(id)) as Person;

                return page;
            });

            Handle.GET("/people/partials/person-preview/{?}", (string id) => {
                PersonPreviewPage page = new PersonPreviewPage();

                page.Data = DbHelper.FromID(DbHelper.Base64DecodeObjectID(id)) as Person;

                return page;
            });

            Handle.GET("/people/partials/organization-preview/{?}", (string id) => {
                OrganizationPreviewPage page = new OrganizationPreviewPage();

                page.Data = DbHelper.FromID(DbHelper.Base64DecodeObjectID(id)) as Organization;

                return page;
            });
        }