public DomainsModule()
            : base("/Company")
        {
            Get["/{ResellerCode}/{CompanyCode}/Domains"] = _ =>
                {
                    Companies companies = new Companies();
                    try
                    {
                        List<Domain> domains = companies.GetDomains(_.CompanyCode);

                        return View["c_domains.cshtml", domains];
                    }
                    catch (Exception ex)
                    {
                        log.ErrorFormat("Error retrieving company domains for {0}. Error: {1}", _.CompanyCode, ex.ToString());

                        ViewBag.Error = ex.Message;
                        return View["c_domains.cshtml", null];
                    }
                };

            Get["/{ResellerCode}/{CompanyCode}/Domains/{DomainID}"] = _ =>
                {
                    Companies companies = new Companies();

                    try
                    {
                        Domain domain = companies.GetDomain(_.CompanyCode, _.DomainID);

                        return View["c_domainsedit.cshtml", domain];
                    }
                    catch (Exception ex)
                    {
                        log.ErrorFormat("Error retrieving company domain for {0} with id {1}. Error: {2}", _.CompanyCode, _.DomainID, ex.ToString());

                        ViewBag.Error = ex.Message;
                        return View["c_domains.cshtml", null];
                    }
                };

            Post["/{ResellerCode}/{CompanyCode}/Domains"] = _ =>
                {
                    Companies companies = new Companies();
                    try
                    {
                        companies.AddDomain(_.CompanyCode, Request.Form.DomainName);
                    }
                    catch (Exception ex)
                    {
                        log.ErrorFormat("Error adding domain {0} for company {1}. Error: {2}", Request.Form.DomainName, _.CompanyCode, ex.ToString());
                        ViewBag.Error = ex.Message;
                    }

                    return View["c_domains.cshtml", companies.GetDomains(_.CompanyCode)];
                };
        }
        public CompanyModule()
            : base("/Company")
        {
            Get["/{ResellerCode}/{CompanyCode}"] = _ =>
                {
                    try
                    {
                        Companies companies = new Companies();
                        Company company = companies.GetCompany(_.ResellerCode, _.CompanyCode);

                        // Set user context values
                        var user = this.Context.CurrentUser as AuthenticatedUser;
                        user.SelectedCompanyCode = _.CompanyCode;
                        user.SelectedResellerCode = _.ResellerCode;
                        user.SelectedCompanyName = company.CompanyName;

                        this.Context.CurrentUser = user;

                        return View["c_overview.cshtml", companies.GetCompany(_.ResellerCode, _.CompanyCode)];
                    }
                    catch (Exception ex)
                    {
                        log.ErrorFormat("Error retrieving company {0}. Error: {1}", _.CompanyCode, ex.ToString());
                        return View["c_overview.cshtml", null];
                    }
                };

            Post["/{ResellerCode}/{CompanyCode}"] = _ =>
                {
                    var id = Request.Form.OrgPlanID;

                    try
                    {
                        Companies companies = new Companies();
                        companies.UpdatePlan(_.CompanyCode, id);

                        return HttpStatusCode.OK;
                    }
                    catch (Exception ex)
                    {
                        log.ErrorFormat("Error updating company plan for {0}. Error: {1}", _.CompanyCode, ex.ToString());
                        return HttpStatusCode.InternalServerError;
                    }
                };
        }
Exemple #3
0
        public UsersModule()
            : base("/Company")
        {
            Get["/{ResellerCode}/{CompanyCode}/Users"] = _ =>
                {
                    return View["c_users.cshtml", _.CompanyCode];
                };

            Get["/{ResellerCode}/{CompanyCode}/Users/{UserGuid}"] = _ =>
                {
                    try
                    {
                        UsersEditPage uep = new UsersEditPage();

                        Companies companies = new Companies();
                        Users users = new Users();

                        // Get the user from Active Directory
                        User adUser = users.GetUserFromAD(_.CompanyCode, _.UserGuid);
                        uep.User = adUser;

                        // Get a list of domains
                        uep.Domains = companies.GetDomains(_.CompanyCode);

                        // Get list of mailbox plans
                        uep.MailboxPlans = companies.GetMailboxPlans(_.CompanyCode);

                        // Get a list of activesync plans
                        uep.ActiveSyncPlans = companies.GetActiveSyncPlans(_.CompanyCode);

                        // Get list of users and their sAMAccountName
                        uep.UsersPermissionList = companies.GetUsersListAndSamAccountName(_.CompanyCode);

                        return View["c_usersedit.cshtml", uep];
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Error = ex.Message;
                        return View["c_users.cshtml", _.CompanyCode];
                    }
                };
        }
        public CompaniesModule()
            : base("/Resellers")
        {
            Get["/{ResellerCode}/Companies"] = _ =>
                {
                    //this.RequiresAuthentication();
                    //this.RequiresValidatedClaims( new Func<IEnumerable<string>,bool>(isValid) );

                    // Set user context values
                    var user = this.Context.CurrentUser as AuthenticatedUser;
                    user.SelectedResellerCode = _.ResellerCode;
                    this.Context.CurrentUser = user;

                    return View["companies.cshtml", _.ResellerCode];
                };

            Get["/{ResellerCode}/{CompanyCode}"] = _ =>
                {
                    //this.RequiresAuthentication();
                    //this.RequiresClaims(new[] { "SuperAdmin" });

                    try
                    {
                        Companies companies = new Companies();
                        Company foundCompany = companies.GetCompany(_.ResellerCode, _.CompanyCode);

                        return Response.AsJson(foundCompany, HttpStatusCode.OK);
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Error = ex.Message;
                        return View["companies.cshtml", _.ResellerCode];
                    }
                };

            Post["/{ResellerCode}/Companies"] = _ =>
                {
                    try
                    {
                        //this.RequiresAuthentication();
                        //this.RequiresValidatedClaims( new Func<IEnumerable<string>,bool>(isValid) );

                        var data = this.Bind<Company>();
                        return View["companies.cshtml", _.ResellerCode];
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Error = ex.Message;
                        return View["companies.cshtml", _.ResellerCode];
                    }
                };

            Put["/{ResellerCode}/Companies"] = _ =>
                {
                    //this.RequiresAuthentication();
                    //this.RequiresClaims(new[] { "SuperAdmin" });

                    try
                    {
                        var company = this.Bind<Company>();

                        Companies companies = new Companies();
                        companies.Update(company);

                        return View["companies.cshtml", _.ResellerCode];
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Error = ex.Message;
                        return View["companies.cshtml", _.ResellerCode];
                    }
                };
        }