public int InsertOrganizationSubscription(OrganizationSubscription OrganizationSubscription)
        {
            //context.OrganizationSubscriptions.Add(OrganizationSubscription);
            SqlParameter[] Param = new SqlParameter[9];
            Param[0]       = new SqlParameter("@pOrganizationSubscriptionGUID", SqlDbType.UniqueIdentifier);
            Param[0].Value = OrganizationSubscription.OrganizationSubscriptionGUID;
            Param[1]       = new SqlParameter("@pOrganizationGUID", SqlDbType.UniqueIdentifier);
            Param[1].Value = OrganizationSubscription.OrganizationGUID;
            Param[2]       = new SqlParameter("@pVersion", SqlDbType.Int);
            Param[2].Value = OrganizationSubscription.Version;
            Param[3]       = new SqlParameter("@pIsActive", SqlDbType.Bit);
            Param[3].Value = OrganizationSubscription.IsActive;
            Param[4]       = new SqlParameter("@pSubscriptionPurchased", SqlDbType.Int);
            Param[4].Value = OrganizationSubscription.SubscriptionPurchased;
            Param[5]       = new SqlParameter("@pSubscriptionConsumed", SqlDbType.Int);
            Param[5].Value = OrganizationSubscription.SubscriptionConsumed;
            Param[6]       = new SqlParameter("@pStartDate", SqlDbType.DateTime);
            Param[6].Value = (object)OrganizationSubscription.StartDate ?? DBNull.Value;
            Param[7]       = new SqlParameter("@pExpiryDate", SqlDbType.DateTime);
            Param[7].Value = (object)OrganizationSubscription.ExpiryDate ?? DBNull.Value;
            Param[8]       = new SqlParameter("@pCreatedDate", SqlDbType.DateTime);
            Param[8].Value = (object)OrganizationSubscription.CreatedDate ?? DBNull.Value;

            return(context.Database.ExecuteSqlCommand("insert into OrganizationSubscriptions(OrganizationSubscriptionGUID,OrganizationGUID,Version,IsActive,SubscriptionPurchased,"
                                                      + "SubscriptionConsumed,StartDate,ExpiryDate,CreatedDate)values(@pOrganizationSubscriptionGUID,@pOrganizationGUID,@pVersion,@pIsActive,@pSubscriptionPurchased,"
                                                      + "@pSubscriptionConsumed,@pStartDate,@pExpiryDate,@pCreatedDate)", Param));
        }
        public int UpdateOrganizationSubscription(OrganizationSubscription OrganizationSubscription)
        {
            // context.Entry(OrganizationSubscription).State = EntityState.Modified;

            SqlParameter[] Param = new SqlParameter[9];
            Param[0]       = new SqlParameter("@pOrganizationSubscriptionGUID", SqlDbType.UniqueIdentifier);
            Param[0].Value = OrganizationSubscription.OrganizationSubscriptionGUID;
            Param[1]       = new SqlParameter("@pOrganizationGUID", SqlDbType.UniqueIdentifier);
            Param[1].Value = OrganizationSubscription.OrganizationGUID;
            Param[2]       = new SqlParameter("@pVersion", SqlDbType.Int);
            Param[2].Value = OrganizationSubscription.Version;
            Param[3]       = new SqlParameter("@pIsActive", SqlDbType.Bit);
            Param[3].Value = OrganizationSubscription.IsActive;
            Param[4]       = new SqlParameter("@pSubscriptionPurchased", SqlDbType.Int);
            Param[4].Value = OrganizationSubscription.SubscriptionPurchased;
            Param[5]       = new SqlParameter("@pSubscriptionConsumed", SqlDbType.Int);
            Param[5].Value = OrganizationSubscription.SubscriptionConsumed;
            Param[6]       = new SqlParameter("@pStartDate", SqlDbType.DateTime);
            Param[6].Value = (object)OrganizationSubscription.StartDate ?? DBNull.Value;
            Param[7]       = new SqlParameter("@pExpiryDate", SqlDbType.DateTime);
            Param[7].Value = (object)OrganizationSubscription.ExpiryDate ?? DBNull.Value;
            Param[8]       = new SqlParameter("@pCreatedDate", SqlDbType.DateTime);
            Param[8].Value = (object)OrganizationSubscription.CreatedDate ?? DBNull.Value;

            return(context.Database.ExecuteSqlCommand("update OrganizationSubscriptions set OrganizationGUID=@pOrganizationGUID,Version=@pVersion,IsActive=@pIsActive,SubscriptionPurchased=@pSubscriptionPurchased,"
                                                      + "SubscriptionConsumed=@pSubscriptionConsumed,StartDate=@pStartDate,ExpiryDate=@pExpiryDate,CreatedDate=@pCreatedDate where OrganizationSubscriptionGUID=@pOrganizationSubscriptionGUID", Param));
        }
Esempio n. 3
0
        public void Put(SubscribeToOrganization request)
        {
            if (request.OrganizationId <= 0)
            {
                throw new ArgumentNullException(nameof(request.OrganizationId));
            }

            var user   = GetUser();
            var userId = user.GetUserId();

            AssertCanViewOrganization(Db, request.OrganizationId, user);

            var rowsDeleted = Db.Delete <OrganizationSubscription>(x =>
                                                                   x.OrganizationId == request.OrganizationId && x.UserId == userId);

            var now = DateTime.Now;
            var sub = new OrganizationSubscription
            {
                OrganizationId = request.OrganizationId,
                UserId         = userId,
                UserName       = user.UserName,
                PostTypes      = request.PostTypes.Select(x => x.ToString()).ToArray(),
                FrequencyDays  = request.Frequency != null ? (int)request.Frequency.Value : (int?)null,
                Created        = now,
            };

            Db.Insert(sub);

            ClearOrganizationCaches();
        }
        public ActionResult Edit(string id = "")
        {
            Logger.Debug("Inside Organization Subscription Controller- Edit");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    if (!string.IsNullOrEmpty(id))
                    {
                        OrganizationSubscription organizationSubscription = _IOrganizationSubscriptionRepository.GetOrganizationSubscriptionByOrgID(new Guid(id));
                        if (organizationSubscription != null)
                        {
                            System.Globalization.DateTimeFormatInfo dateInfo = new System.Globalization.DateTimeFormatInfo();
                            dateInfo.ShortDatePattern = "dd-MMM-yy";
                            OrganizationSubscriptionView organizationSubscriptionView = new OrganizationSubscriptionView
                            {
                                OrganizationSubscriptionGUID = organizationSubscription.OrganizationSubscriptionGUID.ToString(),
                                OrganizationGUID             = organizationSubscription.OrganizationGUID.ToString(),
                                Version  = organizationSubscription.Version,
                                IsActive = organizationSubscription.IsActive,
                                SubscriptionPurchased = organizationSubscription.SubscriptionPurchased,
                                SubscriptionConsumed  = organizationSubscription.SubscriptionConsumed,
                                StartDate             = Convert.ToDateTime(organizationSubscription.StartDate),
                                CreatedDate           = Convert.ToDateTime(organizationSubscription.CreatedDate),
                                ExpiryDate            = Convert.ToDateTime(organizationSubscription.ExpiryDate).ToString("dd-MMM-yy")
                                                        //DateTime.ParseExact(organizationSubscription.ExpiryDate.ToString(), "dd-MMM-yy hh:mm:ss tt", CultureInfo.InvariantCulture)
                                                        //Convert.ToDateTime(organizationSubscription.ExpiryDate)
                            };

                            ViewBag.UserType         = _IGlobalUserRepository.GetUserType(new Guid(Session["UserGUID"].ToString()));
                            ViewBag.OrganizationName = _IOrganizationRepository.GetOrganizationByID(organizationSubscription.OrganizationGUID).OrganizationFullName;

                            return(View(organizationSubscriptionView));
                        }
                        else
                        {
                            return(View());
                        }
                    }
                    else
                    {
                        return(RedirectToAction("../User/Login"));
                    }
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("../User/Login"));
            }
        }
        public int UpdateOrganizationSubscriptionCount(OrganizationSubscription OrganizationSubscription)
        {
            //using (var dataContext = new WorkersInMotionDB())
            //{
            //    var qry = from p in dataContext.OrganizationSubscriptions where p.OrganizationSubscriptionGUID == OrganizationSubscription.OrganizationSubscriptionGUID select p;
            //    var item = qry.Single();
            //    item.SubscriptionConsumed = item.SubscriptionConsumed + 1;
            //    return dataContext.SaveChanges();
            //}
            SqlParameter[] Param = new SqlParameter[2];
            Param[0]       = new SqlParameter("@pSubscriptionConsumed", SqlDbType.Int);
            Param[0].Value = OrganizationSubscription.SubscriptionConsumed + 1;
            Param[1]       = new SqlParameter("@pOrganizationSubscriptionGUID", SqlDbType.UniqueIdentifier);
            Param[1].Value = OrganizationSubscription.OrganizationSubscriptionGUID;

            return(context.Database.ExecuteSqlCommand("Update OrganizationSubscriptions set SubscriptionConsumed=@pSubscriptionConsumed where OrganizationSubscriptionGUID=@pOrganizationSubscriptionGUID", Param));
        }
Esempio n. 6
0
        public async Task <OrganizationSubscription> GetOrganizationSubscription(string partitionKey, string rowKey)
        {
            OrganizationSubscription subscription = null;
            CloudTable scanSourceSubscriptions    = _cloudTableClient.GetTableReference(TABLE_NAME);
            bool       exists = await scanSourceSubscriptions.ExistsAsync();

            if (exists)
            {
                TableOperation retrieveOperation = TableOperation.Retrieve <OrganizationEntity>(partitionKey, rowKey);
                TableResult    result            = await scanSourceSubscriptions.ExecuteAsync(retrieveOperation);

                OrganizationEntity orgEntity = result.Result as OrganizationEntity;
                if (orgEntity != null)
                {
                    subscription = orgEntity.Subscription;
                }
            }

            return(subscription);
        }
        public ActionResult Edit(OrganizationSubscriptionView organizationSubscriptionView)
        {
            Logger.Debug("Inside Organization Subscription Controller- Edit HttpPost");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    OrganizationSubscription organizationSubscription = new OrganizationSubscription();
                    organizationSubscription.OrganizationSubscriptionGUID = new Guid(organizationSubscriptionView.OrganizationSubscriptionGUID);
                    organizationSubscription.OrganizationGUID             = new Guid(organizationSubscriptionView.OrganizationGUID);
                    organizationSubscription.IsActive = organizationSubscriptionView.IsActive;
                    organizationSubscription.Version  = organizationSubscriptionView.Version;
                    organizationSubscription.SubscriptionPurchased = organizationSubscriptionView.SubscriptionPurchased;
                    organizationSubscription.SubscriptionConsumed  = organizationSubscriptionView.SubscriptionConsumed;
                    // organizationSubscription.StartDate = organizationSubscriptionView.StartDate;
                    organizationSubscription.ExpiryDate = Convert.ToDateTime(organizationSubscriptionView.ExpiryDate);
                    //organizationSubscription.CreatedDate = organizationSubscriptionView.CreatedDate;

                    int result = _IOrganizationSubscriptionRepository.UpdateOrganizationSubscription(organizationSubscription);
                    //int result = _IOrganizationSubscriptionRepository.Save();
                    if (result > 0)
                    {
                        return(RedirectToAction("../Organization/Index"));
                    }
                    else
                    {
                        return(View());
                    }
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("../User/Login"));
            }
        }
        public ActionResult Index(string id = "")
        {
            Logger.Debug("Inside Organization Subscription Controller- Index");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    OrganizationSubscriptionViewModel pOrganizationSubscriptionViewModel = new OrganizationSubscriptionViewModel();
                    pOrganizationSubscriptionViewModel.OrganizationSubscriptionViewList = new List <OrganizationSubscriptionView>();
                    if (!string.IsNullOrEmpty(id))
                    {
                        OrganizationSubscription     organizationSubscription     = _IOrganizationSubscriptionRepository.GetOrganizationSubscriptionByOrgID(new Guid(id));
                        OrganizationSubscriptionView organizationSubscriptionView = new OrganizationSubscriptionView
                        {
                            OrganizationSubscriptionGUID = organizationSubscription.OrganizationSubscriptionGUID.ToString(),
                            OrganizationGUID             = organizationSubscription.OrganizationGUID.ToString(),
                            Version  = organizationSubscription.Version,
                            IsActive = organizationSubscription.IsActive,
                            SubscriptionPurchased = organizationSubscription.SubscriptionPurchased,
                            SubscriptionConsumed  = organizationSubscription.SubscriptionConsumed,
                            StartDate             = Convert.ToDateTime(organizationSubscription.StartDate),
                            CreatedDate           = Convert.ToDateTime(organizationSubscription.CreatedDate),
                            ExpiryDate            = Convert.ToDateTime(organizationSubscription.ExpiryDate).ToString("dd-MMM-yy"),
                            OrganizationName      = _IOrganizationRepository.GetOrganizationByID(organizationSubscription.OrganizationGUID).OrganizationFullName
                        };
                        ViewBag.OrganizationName = organizationSubscriptionView.OrganizationName;
                        pOrganizationSubscriptionViewModel.OrganizationSubscriptionViewList.Add(organizationSubscriptionView);
                    }
                    else
                    {
                        List <OrganizationSubscription> organizationSubscriptionList = _IOrganizationSubscriptionRepository.GetOrganizationSubscription().ToList();
                        foreach (OrganizationSubscription organizationSubscription in organizationSubscriptionList)
                        {
                            OrganizationSubscriptionView organizationSubscriptionView = new OrganizationSubscriptionView
                            {
                                OrganizationSubscriptionGUID = organizationSubscription.OrganizationSubscriptionGUID.ToString(),
                                OrganizationGUID             = organizationSubscription.OrganizationGUID.ToString(),
                                Version  = organizationSubscription.Version,
                                IsActive = organizationSubscription.IsActive,
                                SubscriptionPurchased = organizationSubscription.SubscriptionPurchased,
                                SubscriptionConsumed  = organizationSubscription.SubscriptionConsumed,
                                StartDate             = Convert.ToDateTime(organizationSubscription.StartDate),
                                CreatedDate           = Convert.ToDateTime(organizationSubscription.CreatedDate),
                                ExpiryDate            = Convert.ToDateTime(organizationSubscription.ExpiryDate).ToString("dd-MMM-yy"),
                                OrganizationName      = _IOrganizationRepository.GetOrganizationByID(organizationSubscription.OrganizationGUID).OrganizationFullName
                            };
                            pOrganizationSubscriptionViewModel.OrganizationSubscriptionViewList.Add(organizationSubscriptionView);
                        }
                        ViewBag.OrganizationName = "admin";
                    }
                    ViewBag.UserType = _IGlobalUserRepository.GetUserType(new Guid(Session["UserGUID"].ToString()));

                    return(View(pOrganizationSubscriptionViewModel));
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("../User/Login"));
            }
        }
Esempio n. 9
0
        //public UserController(WorkersInMotionJobContext context)
        //{
        // //   this._IJobRepository = new JobRepository(context);
        //}

        #endregion
        public ActionResult Index(string id = "", string regionguid = "", string selection = "")
        {
            Logger.Debug("Inside User Controller- Index");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    if (!string.IsNullOrEmpty(id))
                    {
                        TempData["TabName"] = id;
                    }
                    else
                    {
                        TempData["TabName"] = "Details";
                    }
                    mycompany pmycompany = new mycompany();
                    pmycompany.OrganizationEditView = new OrganizationEditView();
                    pmycompany.AspNetUserViewModel  = new AspNetUserViewModel();
                    pmycompany.TerritoryViewModel   = new TerritoryViewModel();
                    pmycompany.RegionViewModel      = new RegionViewModel();


                    //switch (id)
                    //{
                    //    case "Users":
                    //        ViewBag.TabName = "Users";
                    var userList = new AspNetUserViewModel();
                    userList.Users = new List <AspUser>();
                    var appUser = new List <UserProfile>();

                    appUser = _IUserProfileRepository.GetUserProfilesbyOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).OrderBy(sort => sort.FirstName).ToList();

                    foreach (var user in appUser.ToList())
                    {
                        UserSubscription userSubscription = _IUserSubscriptionRepository.GetUserSubscriptionByUserID(user.UserGUID);
                        GlobalUser       _globalUser      = _IGlobalUserRepository.GetGlobalUserByID(user.UserGUID);
                        string           Regionname       = string.Empty;
                        string           Territoryname    = string.Empty;
                        string           Groupname        = string.Empty;
                        string           userType         = string.Empty;
                        if (_globalUser != null)
                        {
                            OrganizationUsersMap _orgUserMap = _IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID);

                            if (_orgUserMap != null && _orgUserMap.RegionGUID != null)
                            {
                                Regionname = _IRegionRepository.GetRegionNameByRegionGUID(new Guid(_orgUserMap.RegionGUID.ToString()));
                            }
                            else
                            {
                                Regionname = "";
                            }
                            if (_orgUserMap != null && _orgUserMap.TerritoryGUID != null)
                            {
                                Territoryname = _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(_orgUserMap.TerritoryGUID.ToString()));
                            }
                            else
                            {
                                Territoryname = "";
                            }


                            // Groupname = _IGroupRepository.GetGroupNameByGroupGUID(new Guid(_globalUser.GroupGUID.ToString()));
                            userType = _IGlobalUserRepository.GetUserTypeByRoleID(_globalUser.Role_Id);
                        }
                        string UserTypeName = _IGlobalUserRepository.GetUserRoleName(user.UserGUID);

                        if (userSubscription != null)
                        {
                            userList.Users.Add(new AspUser {
                                UserTypeName = UserTypeName, RegionName = Regionname, TerritoryName = Territoryname, GroupName = Groupname, OrganizationSubscriptionGUID = userSubscription.OrganizationSubscriptionGUID.ToString(), UserType = userType, IsActive = userSubscription.IsActive, SubscriptionGUID = userSubscription.UserSubscriptionGUID.ToString(), FirstName = user.FirstName, LastName = user.LastName, Id = user.UserGUID.ToString(), EmailID = user.EmailID, MobilePhone = user.MobilePhone, City = user.City, State = user.State, Country = user.Country
                            });
                        }
                    }

                    OrganizationSubscription orgSubscription = new OrganizationSubscription();
                    if (Session["UserType"] != null && Session["UserType"].ToString() != "WIM_A")
                    {
                        orgSubscription = _IOrganizationSubscriptionRepository.GetOrganizationSubscriptionByOrgID(new Guid(Session["OrganizationGUID"].ToString()));
                        if (orgSubscription != null)
                        {
                            ViewBag.EnableCreateUserButton = "true";
                        }
                        else
                        {
                            ViewBag.EnableCreateUserButton = "false";
                        }
                        //if (orgSubscription != null && orgSubscription.SubscriptionPurchased > orgSubscription.SubscriptionConsumed)
                        //{
                        //    ViewBag.EnableCreateUserButton = "true";
                        //}
                        //else
                        //{
                        //    ViewBag.EnableCreateUserButton = "false";
                        //}
                    }
                    else
                    {
                        ViewBag.EnableCreateUserButton = "false";
                    }
                    pmycompany.AspNetUserViewModel = userList;
                    //    break;
                    //case "Region":
                    //    ViewBag.TabName = "Regions";
                    var territoryList = new TerritoryViewModel();
                    territoryList.Territory = new List <TerritoryModel>();
                    List <Territory> appTerritory = new List <Territory>();
                    if (!string.IsNullOrEmpty(regionguid) && regionguid != Guid.Empty.ToString())
                    {
                        appTerritory         = _ITerritoryRepository.GetTerritoryByRegionGUID(new Guid(regionguid)).ToList();
                        TempData["TabName"]  = "Markets";
                        ViewBag.AddTerritory = "true";
                        ViewBag.Id           = regionguid;
                    }
                    else
                    {
                        appTerritory = _ITerritoryRepository.GetTerritoryByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    }
                    foreach (var territory in appTerritory.ToList())
                    {
                        territoryList.Territory.Add(new TerritoryModel {
                            Name = territory.Name, TerritoryGUID = territory.TerritoryGUID.ToString(), RegionGUID = territory.RegionGUID != null ? territory.RegionGUID.ToString() : Guid.Empty.ToString(), Description = territory.Description, OrganizationGUID = territory.OrganizationGUID != null ? territory.OrganizationGUID.ToString() : Guid.Empty.ToString()
                        });
                    }
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<div class='actions'>");
                    sb.Append("<div class='btn-group'>");
                    if (!string.IsNullOrEmpty(regionguid) && regionguid != Guid.Empty.ToString())
                    {
                        sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i> " + _IRegionRepository.GetRegionNameByRegionGUID(new Guid(regionguid)) + " <i class='icon-angle-down'></i></a>");
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(selection) && selection == "All")
                        {
                            sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>All<i class='icon-angle-down'></i></a>");
                        }
                        else
                        {
                            sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i> Select Region <i class='icon-angle-down'></i></a>");
                        }
                    }
                    sb.Append("<ul id='ulworkgroup' style='height:100px;overflow-y:scroll' class='dropdown-menu pull-right'>");
                    if (string.IsNullOrEmpty(selection) || selection != "All")
                    {
                        sb.Append("<li><a href=" + Url.Action("Index", "MyCompany", new { id = "Markets", selection = "All" }) + ">All</a></li>");
                    }
                    List <Region> RegList = _IRegionRepository.GetRegionByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    foreach (Region item in RegList)
                    {
                        sb.Append("<li><a href=" + Url.Action("Index", "MyCompany", new { regionguid = item.RegionGUID.ToString() }) + " data-groupguid=" + item.RegionGUID + ">" + item.Name + "</a></li>");
                    }
                    sb.Append("</ul>");
                    sb.Append("</div>");
                    sb.Append("</div>");
                    ViewBag.RegionList            = sb.ToString();
                    pmycompany.TerritoryViewModel = territoryList;
                    //    break;
                    //case "Territory":
                    //    ViewBag.TabName = "Territories";
                    var regionList = new RegionViewModel();
                    regionList.Region = new List <RegionModel>();
                    var appRegion = _IRegionRepository.GetRegionByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    foreach (var region in appRegion.ToList())
                    {
                        regionList.Region.Add(new RegionModel {
                            Name = region.Name, RegionGUID = region.RegionGUID.ToString(), Description = region.Description, OrganizationGUID = region.OrganizationGUID != null ? region.OrganizationGUID.ToString() : Guid.Empty.ToString()
                        });
                    }
                    pmycompany.RegionViewModel = regionList;
                    //    break;
                    //case "Organization":
                    //    ViewBag.TabName = "Details";
                    OrganizationEditView organization = new OrganizationEditView();
                    organization.OrganizationGUID = new Guid(Session["OrganizationGUID"].ToString());
                    Organization Organization = _IOrganizationRepository.GetOrganizationByID(organization.OrganizationGUID);
                    if (organization != null)
                    {
                        organization.OrganizationFullName = Organization.OrganizationFullName;
                        organization.OrganizationName     = Organization.OrganizationFullName.Trim();
                        organization.OrganizationGUID     = Organization.OrganizationGUID;
                        organization.Website            = Organization.Website;
                        organization.Phone              = Organization.Phone;
                        organization.TimeZone           = Organization.TimeZone.ToString();
                        organization.AddressLine1       = Organization.AddressLine1;
                        organization.AddressLine2       = Organization.AddressLine2;
                        organization.ImageURL           = Organization.ImageURL;
                        organization.City               = Organization.City;
                        organization.Country            = Organization.Country;
                        organization.State              = Organization.State;
                        organization.ZipCode            = Organization.ZipCode;
                        organization.EmailID            = Organization.EmailID;
                        organization.IsActive           = Organization.IsActive;
                        organization.IsDeleted          = Organization.IsDeleted;
                        organization.CreatedDate        = Organization.CreateDate;
                        organization.CreateBy           = Organization.CreateBy;
                        pmycompany.OrganizationEditView = organization;
                    }

                    //    break;
                    //default:
                    //    ViewBag.TabName = "Details";
                    //    OrganizationEditView porganization = new OrganizationEditView();
                    //    porganization.OrganizationGUID = new Guid(Session["OrganizationGUID"].ToString());
                    //    Organization pOrganization = _IOrganizationRepository.GetOrganizationByID(porganization.OrganizationGUID);
                    //    if (porganization != null)
                    //    {
                    //        porganization.OrganizationFullName = pOrganization.OrganizationFullName;
                    //        porganization.OrganizationName = pOrganization.OrganizationFullName.Trim();
                    //        porganization.OrganizationGUID = pOrganization.OrganizationGUID;
                    //        porganization.Website = pOrganization.Website;
                    //        porganization.Phone = pOrganization.Phone;
                    //        porganization.TimeZone = pOrganization.TimeZone.ToString();
                    //        porganization.AddressLine1 = pOrganization.AddressLine1;
                    //        porganization.AddressLine2 = pOrganization.AddressLine2;
                    //        porganization.ImageURL = pOrganization.ImageURL;
                    //        porganization.City = pOrganization.City;
                    //        porganization.Country = pOrganization.Country;
                    //        porganization.State = pOrganization.State;
                    //        porganization.ZipCode = pOrganization.ZipCode;
                    //        porganization.EmailID = pOrganization.EmailID;
                    //        porganization.IsActive = pOrganization.IsActive;
                    //        porganization.IsDeleted = pOrganization.IsDeleted;
                    //        porganization.CreatedDate = pOrganization.CreateDate;
                    //        porganization.CreateBy = pOrganization.CreateBy;
                    //        pmycompany.OrganizationEditView.Add(porganization);
                    //    }
                    //    break;
                    // }



                    return(View(pmycompany));
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("Login", "User"));
            }
        }
Esempio n. 10
0
        private AspNetUserViewModel UserDetails()
        {
            #region UserDetails
            try
            {
                var userList = new AspNetUserViewModel();
                userList.Users = new List <AspUser>();
                var appUser = new List <UserProfile>();

                appUser = _IUserProfileRepository.GetUserProfilesbyOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).OrderBy(sort => sort.FirstName).ToList();

                foreach (var user in appUser.ToList())
                {
                    UserSubscription userSubscription = _IUserSubscriptionRepository.GetUserSubscriptionByUserID(user.UserGUID);
                    GlobalUser       _globalUser      = _IGlobalUserRepository.GetGlobalUserByID(user.UserGUID);
                    string           Regionname       = string.Empty;
                    string           Territoryname    = string.Empty;
                    string           Groupname        = string.Empty;
                    string           userType         = string.Empty;
                    if (_globalUser != null)
                    {
                        OrganizationUsersMap _orgUserMap = _IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID);

                        if (_orgUserMap != null && _orgUserMap.RegionGUID != null)
                        {
                            Regionname = _IRegionRepository.GetRegionNameByRegionGUID(new Guid(_orgUserMap.RegionGUID.ToString()));
                        }
                        else
                        {
                            Regionname = "";
                        }
                        if (_orgUserMap != null && _orgUserMap.TerritoryGUID != null)
                        {
                            Territoryname = _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(_orgUserMap.TerritoryGUID.ToString()));
                        }
                        else
                        {
                            Territoryname = "";
                        }

                        //Regionname = _IRegionRepository.GetRegionNameByRegionGUID(new Guid(_IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID).RegionGUID.ToString()));
                        //Territoryname = _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(_IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID).TerritoryGUID.ToString()));
                        userType = _IGlobalUserRepository.GetUserTypeByRoleID(_globalUser.Role_Id);
                    }
                    string UserTypeName = _IGlobalUserRepository.GetUserRoleName(user.UserGUID);

                    if (userSubscription != null)
                    {
                        userList.Users.Add(new AspUser {
                            UserTypeName = UserTypeName, RegionName = Regionname, TerritoryName = Territoryname, GroupName = Groupname, OrganizationSubscriptionGUID = userSubscription.OrganizationSubscriptionGUID.ToString(), UserType = userType, IsActive = userSubscription.IsActive, SubscriptionGUID = userSubscription.UserSubscriptionGUID.ToString(), FirstName = user.FirstName, LastName = user.LastName, Id = user.UserGUID.ToString(), EmailID = user.EmailID, MobilePhone = user.MobilePhone, City = user.City, State = user.State, Country = user.Country
                        });
                    }
                }

                OrganizationSubscription orgSubscription = new OrganizationSubscription();
                if (Session["UserType"] != null && Session["UserType"].ToString() != "WIM_A")
                {
                    orgSubscription = _IOrganizationSubscriptionRepository.GetOrganizationSubscriptionByOrgID(new Guid(Session["OrganizationGUID"].ToString()));
                    if (orgSubscription != null)
                    {
                        ViewBag.EnableCreateUserButton = "true";
                    }
                    else
                    {
                        ViewBag.EnableCreateUserButton = "false";
                    }
                    //if (orgSubscription != null && orgSubscription.SubscriptionPurchased > orgSubscription.SubscriptionConsumed)
                    //{
                    //    ViewBag.EnableCreateUserButton = "true";
                    //}
                    //else
                    //{
                    //    ViewBag.EnableCreateUserButton = "false";
                    //}
                }
                else
                {
                    ViewBag.EnableCreateUserButton = "false";
                }
                return(userList);
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(null);
            }
            #endregion
        }
        // GET api/<controller>/5
        public async Task <HttpResponseMessage> Get(string id)
        {
            HttpResponseMessage result = new HttpResponseMessage();

            List <KeyValuePair <string, string> > queryString = Request.GetQueryNameValuePairs().ToList();
            string objectId  = queryString.FirstOrDefault(q => q.Key == "objectId").Value;
            string email     = queryString.FirstOrDefault(q => q.Key == "email").Value;
            string firstName = queryString.FirstOrDefault(q => q.Key == "firstName").Value;
            string lastName  = queryString.FirstOrDefault(q => q.Key == "lastName").Value;

            if (string.IsNullOrEmpty(id) ||
                string.IsNullOrEmpty(objectId) ||
                string.IsNullOrEmpty(email) ||
                string.IsNullOrEmpty(firstName) ||
                string.IsNullOrEmpty(lastName))
            {
                result.StatusCode = HttpStatusCode.BadRequest;
                result.Content    = new StringContent("Please pass an id, objectId, email, firstName, and lastName on the querystring");
            }
            else
            {
                string partitionKey = id.Substring(0, 1).ToLower();
                OrganizationSubscription subscription = await _registrationService.GetOrganizationSubscription(partitionKey, id);

                if (subscription == null)
                {
                    // Create Azure AD Application Registration for the Organization
                    Guid        uniqueId    = Guid.NewGuid();
                    Application application = new Application();
                    application.DisplayName    = $"AAD - {id} Client Application";
                    application.IdentifierUris = new List <string>();
                    application.IdentifierUris.Add($"https://{ConfigurationManager.AppSettings["TENANT"]}/{uniqueId}");
                    application.PasswordCredentials = new List <PasswordCredential>();
                    var    startDate = DateTime.Now;
                    Byte[] bytes     = new Byte[32];
                    using (var rand = System.Security.Cryptography.RandomNumberGenerator.Create())
                    {
                        rand.GetBytes(bytes);
                    }
                    string clientSecret = Convert.ToBase64String(bytes);
                    application.PasswordCredentials.Add(new PasswordCredential()
                    {
                        CustomKeyIdentifier = null,
                        StartDate           = startDate,
                        EndDate             = new DateTime(2299, 12, 31, 5, 0, 0, 0),
                        KeyId = Guid.NewGuid(),
                        Value = clientSecret
                    });
                    application.RequiredResourceAccess = new List <RequiredResourceAccess>();
                    RequiredResourceAccess graphResourceAccess = new RequiredResourceAccess()
                    {
                        ResourceAccess = new List <ResourceAccess>(),
                        ResourceAppId  = "00000003-0000-0000-c000-000000000000"
                    };
                    graphResourceAccess.ResourceAccess.Add(new ResourceAccess()
                    {
                        Id   = new Guid("37f7f235-527c-4136-accd-4a02d197296e"),
                        Type = "Scope"
                    });
                    graphResourceAccess.ResourceAccess.Add(new ResourceAccess()
                    {
                        Id   = new Guid("7427e0e9-2fba-42fe-b0c0-848c9e6a8182"),
                        Type = "Scope"
                    });
                    RequiredResourceAccess apimResourceAccess = new RequiredResourceAccess()
                    {
                        ResourceAccess = new List <ResourceAccess>(),
                        ResourceAppId  = "30fe3279-fbb4-4a13-b1f8-7c5f2ea9e6df"
                    };
                    apimResourceAccess.ResourceAccess.Add(new ResourceAccess()
                    {
                        Id   = new Guid("f9bcce35-145a-4199-bf1b-948467774061"),
                        Type = "Role"
                    });
                    application.RequiredResourceAccess.Add(graphResourceAccess);
                    application.RequiredResourceAccess.Add(apimResourceAccess);
                    application.ReplyUrls = new List <string>();
                    application.ReplyUrls.Add($"msapp://{uniqueId}");
                    string clientId = await _appService.Create(application);

                    // Create APIM subscription key for the organization
                    Guid             primaryKey       = Guid.NewGuid();
                    Guid             secondaryKey     = Guid.NewGuid();
                    APIMSubscription apimSubscription = await _subscriptionService.CreateOrgSubscription($"APIM {id} Subscription", "/products/starter", primaryKey, secondaryKey, $"{id}@{_orgEmailDomain}", id, id);

                    // Store subscription information in Table Storage
                    OrganizationSubscription organizationSubscription = new OrganizationSubscription()
                    {
                        Organization             = id,
                        PrimarySubscriptionKey   = apimSubscription.properties.primaryKey,
                        SecondarySubscriptionKey = apimSubscription.properties.secondaryKey,
                        Scope        = apimSubscription.properties.scope,
                        ClientId     = clientId,
                        ClientSecret = clientSecret
                    };
                    OrganizationEntity organizationEntity = new OrganizationEntity(organizationSubscription);
                    await _registrationService.CreateOrganizationSubscription(organizationEntity);

                    // Create pending APIM subscription for the user
                    APIMSubscription apimUserSubscription = await _subscriptionService.CreateSubscription($"APIM {id} Subscription", "/products/starter", Guid.NewGuid(), Guid.NewGuid(), objectId, email, firstName, lastName);

                    // No user subscriptions have been approved yet so return masked values
                    ResponseContent responseContent = new ResponseContent
                    {
                        version                  = "1.0.0",
                        status                   = (int)HttpStatusCode.OK,
                        organization             = id,
                        primarySubscriptionKey   = MASKED_VALUE,
                        secondarySubscriptionKey = MASKED_VALUE,
                        clientId                 = MASKED_VALUE,
                        clientSecret             = MASKED_VALUE
                    };
                    result.StatusCode = HttpStatusCode.OK;
                    result.Content    = new StringContent(JsonConvert.SerializeObject(responseContent), Encoding.UTF8, "application/json");
                }
                else
                {
                    string            state = string.Empty;
                    bool              userHasSubscription = false;
                    UserSubscriptions userSubscriptions   = await _subscriptionService.GetUserSubscriptions(email);

                    if (userSubscriptions != null && userSubscriptions.count > 0)
                    {
                        foreach (UserSubscription userSubscription in userSubscriptions.value)
                        {
                            if (userSubscription.properties.scope.EndsWith(subscription.Scope, StringComparison.InvariantCultureIgnoreCase))
                            {
                                state = userSubscription.properties.state;
                                userHasSubscription = true;
                                break;
                            }
                        }
                    }

                    if (!userHasSubscription)
                    {
                        APIMSubscription apimSubscription = await _subscriptionService.CreateSubscription($"APIM {id} Subscription", "/products/starter", Guid.NewGuid(), Guid.NewGuid(), objectId, email, firstName, lastName);

                        state = apimSubscription.properties.state;
                    }

                    ResponseContent responseContent = null;
                    if (state == "active") // User has an approved subscription - share the organization values
                    {
                        responseContent = new ResponseContent
                        {
                            version                  = "1.0.0",
                            status                   = (int)HttpStatusCode.OK,
                            organization             = id,
                            primarySubscriptionKey   = subscription.PrimarySubscriptionKey,
                            secondarySubscriptionKey = subscription.SecondarySubscriptionKey,
                            clientId                 = subscription.ClientId,
                            clientSecret             = subscription.ClientSecret
                        };
                    }
                    else // User has a pending subscription - return masked values
                    {
                        responseContent = new ResponseContent
                        {
                            version                  = "1.0.0",
                            status                   = (int)HttpStatusCode.OK,
                            organization             = id,
                            primarySubscriptionKey   = MASKED_VALUE,
                            secondarySubscriptionKey = MASKED_VALUE,
                            clientId                 = MASKED_VALUE,
                            clientSecret             = MASKED_VALUE
                        };
                    }

                    result.StatusCode = HttpStatusCode.OK;
                    result.Content    = new StringContent(JsonConvert.SerializeObject(responseContent), Encoding.UTF8, "application/json");
                }
            }

            return(result);
        }