Exemplo n.º 1
0
        public void MoreLikeThis()
        {
            solr.Add(new Product {
                Id           = "apache-cocoon",
                Categories   = new[] { "framework", "java" },
                Name         = "Apache Cocoon",
                Manufacturer = "Apache",
            });
            solr.Add(new Product {
                Id           = "apache-hadoop",
                Categories   = new[] { "framework", "java", "mapreduce" },
                Name         = "Apache Hadoop",
                Manufacturer = "Apache",
            });
            solr.Commit();
            var results = solr.Query(new SolrQuery("apache"), new QueryOptions {
                MoreLikeThis = new MoreLikeThisParameters(new[] { "cat", "manu" })
                {
                    MinDocFreq  = 1,
                    MinTermFreq = 1,
                    //Count = 1,
                },
            });

            Assert.That(results.SimilarResults.Count, Is.GreaterThan(0));
            foreach (var r in results.SimilarResults)
            {
                Console.WriteLine("Similar documents to {0}", r.Key);
                foreach (var similar in r.Value)
                {
                    Console.WriteLine(similar.Id);
                }
                Console.WriteLine();
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Index()
        {
            Random generator = new Random();
            int    code      = generator.Next(100000, 1000000);

            TempData["verifycode"] = code;

            if (ModelState.IsValid)
            {
                var email = registerVM.Email;
                try
                {
                    #region register user

                    _user = _userCollection.Find(e => e.Email == email).FirstOrDefault();
                    if (_user != null)
                    {
                        ModelState.AddModelError(string.Empty, "Email already exists");
                        return(View());
                    }
                    _user = new Users()
                    {
                        FirstName      = registerVM.FirstName,
                        LastName       = registerVM.LastName,
                        Email          = registerVM.Email,
                        Password       = AppUtility.Encrypt(registerVM.Password),
                        RoleId         = _userRoleCollection.Find(e => e.Role == AppUtility.EarnerRole).FirstOrDefault().RoleId.ToString(),
                        CreatedDate    = DateTime.Now,
                        CreatedBy      = AppUtility.DefaultCreatedBy,
                        IsUserVerified = false
                    };

                    _userCollection.InsertOne(_user);
                    SolrUsersModel su = new SolrUsersModel(_user);
                    _solr.Add(su);
                    _solr.Commit();

                    #endregion
                }
                catch (Exception e)
                {
                    ErrorMessage = "Please try again later.";
                    _logger.LogError("RegisterError", e);
                    return(RedirectToAction(nameof(Index)));
                }

                await _emailSender.SendEmailAsync(_user.Email, "Confirm your email",
                                                  $"Your verification code is {code}. Please enter to confirm your email");

                TempData["email"] = _user.Email;
                return(LocalRedirect("/Identity/Account/Verifycode"));
            }
            // If we got this far, something failed, redisplay form
            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 3
0
        public IActionResult Update(PersonalWebsiteMVC.Models.SolrModel model)
        {
            var s = new PersonalWebsiteMVC.Models.SolrModel();

            s.ID    = model.ID;
            s.Title = model.Title;
            s.Url   = model.Url;
            s.Body  = model.Body;
            solr.Add(s);
            solr.Commit();
            return(RedirectToAction("Index"));
        }
        public Boolean Insert(Quote theQuote)
        {
            try
            {
                _ctx.Add(theQuote);
                _ctx.Commit();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 5
0
 public IActionResult Update(int id, Posts model, string Solr)
 {
     if (ModelState.IsValid)
     {
         var b = _db.Posts.Where(b => b.PostID == id).FirstOrDefault();
         b.PostContent  = model.PostContent;
         b.PostExcerpt  = model.PostExcerpt;
         b.PostTitle    = model.PostTitle;
         b.PostAuthor   = model.PostAuthor;
         b.PostLocation = model.PostLocation;
         b.CategoryID   = model.CategoryID;
         _db.Update(b);
         _db.SaveChanges();
         if (Solr == "Yes")
         {
             var s = new PersonalWebsiteMVC.Models.SolrModel();
             s.ID    = model.PostID.ToString();
             s.Title = model.PostTitle;
             s.Url   = "http://www.douglasmcgregor.co.uk/Blog?q=" + model.PostID;
             s.Body  = model.PostContent;
             _solr.Add(s);
             _solr.Commit();
         }
         if (Solr == "No")
         {
             SolrQueryByField results = new SolrQueryByField("ID", model.PostID.ToString());
             _solr.Delete(results.FieldValue);
             _solr.Commit();
         }
         return(RedirectToAction("Index"));
     }
     return(View(model));
 }
Exemplo n.º 6
0
        public void AutoTrackRepos(GitHubUser user)
        {
            ISolrOperations <CodeDoc> solr = ServiceLocator.Current.GetInstance <ISolrOperations <CodeDoc> >();
            var repos = user.GitHubClient.Repository.GetAllPublic().Result;

            foreach (var repo in repos)
            {
                var commits = user.GitHubClient.Repository.Commit.GetAll(repo.Owner.Login, repo.Name).Result;

                foreach (var commit in commits)
                {
                    if (commit.Author != null && commit.Author.Login != user.GitHubClient.User.Current().Result.Login)
                    {
                        continue;
                    }

                    var docsToAdd = GetDocumentsFromCommit(user, repo, commit);

                    foreach (var doc in docsToAdd)
                    {
                        solr.Add(doc);
                    }
                }
                Console.WriteLine("Finished tracking repository {0} for {1} to Solr", repo.Name, user.UUID);
                solr.Commit();
            }
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Create(Users users)
        {
            if (ModelState.IsValid)
            {
                var claimsIdentity = (ClaimsIdentity)User.Identity;
                var claim          = claimsIdentity.Claims.ToArray();
                var loginUserEmail = claim[1].Value;
                var userName       = claim[0].Value;

                var IsEmailExist = usersCollection.Find(e => e.Email == users.Email).ToList();
                if (IsEmailExist.Count() > 0)
                {
                    ModelState.AddModelError(string.Empty, "User with this email already exist");
                    CreateUser createUser = new CreateUser()
                    {
                        userRoles = userRoleCollection.Find(role => role.Role != AppUtility.IssuerRole).ToList()
                    };
                    return(View(createUser));
                }

                DateTime today    = DateTime.Now;
                var      password = AppUtility.Encrypt(users.Password);
                users.CreatedDate    = today;
                users.CreatedBy      = userName;
                users.Password       = password;
                users.IsUserVerified = true;
                usersCollection.InsertOne(users);

                SolrUsersModel su = new SolrUsersModel(users);
                _solr.Add(su);
                _solr.Commit();

                await _emailSender.SendEmailAsync(users.Email, "Congratulation, Now you can use DigiBadges",

                                                  $"LoginId: {users.Email}<br/>Password: {users.Password}"
                                                  );

                return(RedirectToAction("Index"));
            }
            return(View());
        }
Exemplo n.º 8
0
 private static void AddEmailToIndex(ISolrOperations <EmailIndex> solr, DateTime dateSent, string to, string from, string subject,
                                     string messageBody)
 {
     solr.Add(new EmailIndex
     {
         DateSent    = dateSent,
         To          = to,
         From        = from,
         Subject     = subject,
         MessageBody = messageBody
     });
 }
        public void AddQuery(Item item)
        {
            Startup.Init <SolrSitecoreItem>("http://localhost:8080/solr");

            solr.Add(new SolrSitecoreItem()
            {
                Group = "",
                Name  = item.Name,
                Url   = item.Uri.ToString()
            });

            solr.Commit();
        }
Exemplo n.º 10
0
 public int Add(sys_menu entry)
 {
     using (LocalDB db = new LocalDB())
     {
         StringBuilder sql = new StringBuilder();
         sql.Append("INSERT INTO dbo.sys_menu \n");
         sql.Append("        ( status , \n");
         sql.Append("          pid , \n");
         sql.Append("          title , \n");
         sql.Append("          code , \n");
         sql.Append("          menucode , \n");
         sql.Append("          icon , \n");
         sql.Append("          path , \n");
         sql.Append("          menutype , \n");
         sql.Append("          seq ,viewpath, \n");
         sql.Append("          add_time \n");
         sql.Append("        ) \n");
         sql.Append("select @status , -- status - int \n");
         sql.Append("          @pid , -- pid - int \n");
         sql.Append("          @title , -- title - nvarchar(100) \n");
         sql.Append("          @code , -- code - nvarchar(50) \n");
         sql.Append("          @menucode , -- code - nvarchar(50) \n");
         sql.Append("          @icon , -- icon - nvarchar(50) \n");
         sql.Append("          @path , -- path - nvarchar(50) \n");
         sql.Append("          @menutype , -- menutype - nvarchar(50) \n");
         sql.Append("          @seq ,@viewpath, -- seq - nvarchar(50) \n");
         sql.Append("          GETDATE()  -- add_time - datetime \n");
         sql.Append("where NOT EXISTS(select * from sys_menu where code=@code)\n select SCOPE_IDENTITY();\n");
         int menuid = db.Current_Conn.ExecuteScalar <int>(sql.ToString(), entry);
         entry.id         = menuid;
         entry.entitytype = "sys_menu";
         if (menuid > 0)
         {
             solr.Add(entry);
             solr.Commit();
         }
         return(menuid);
     }
 }
Exemplo n.º 11
0
 public void UpdateInternal(AbstractEvent e, T entity)
 {
     if (entity == null)
     {
         return;
     }
     if (entity.GetType() != typeof(T)) // strict check for type, e.g. no subtypes
     {
         return;
     }
     if (DeferAction(e.Session))
     {
         Add(e.Session.Transaction, entity);
     }
     else
     {
         solr.Add(entity, AddParameters);
         if (Commit)
         {
             solr.Commit();
         }
     }
 }
Exemplo n.º 12
0
 public int Add(sys_role entry)
 {
     using (LocalDB db = new LocalDB())
     {
         StringBuilder sql = new StringBuilder();
         sql.Append("INSERT INTO dbo.sys_role \n");
         sql.Append("        ( status, code, title, add_time ) \n");
         sql.Append("VALUES  ( @status, -- status - int \n");
         sql.Append("          @code, -- code - nvarchar(50) \n");
         sql.Append("          @title, -- title - nvarchar(50) \n");
         sql.Append("          GETDATE()  -- add_time - datetime \n");
         sql.Append("          );select SCOPE_IDENTITY();");
         int roleid = db.Current_Conn.ExecuteScalar <int>(sql.ToString(), new
         {
             status = entry.status,
             code   = entry.code,
             title  = entry.title
         });
         entry.id = roleid;
         solr.Add(entry);
         solr.Commit();
         return(roleid);
     }
 }
Exemplo n.º 13
0
        public void Execute()
        {
            AuditRepo repo          = new AuditRepo();
            var       dynamicAudits = repo.GetDynamicAudits();

            List <EHSDoc> solrAudits = MapSolrAudits(dynamicAudits);

            ISolrOperations <EHSDoc> solrAuditOperations = ServiceLocator.Current.GetInstance <ISolrOperations <EHSDoc> >();

            foreach (var solrAudit in solrAudits)
            {
                solrAuditOperations.Add(solrAudit);
            }

            solrAuditOperations.Commit();
        }
        public void Execute()
        {
            TaskRepo repo         = new TaskRepo();
            var      dynamicTasks = repo.GetTasks();


            List <EHSDoc> EHSDocs = MapEHSDocs(dynamicTasks);

            ISolrOperations <EHSDoc> solrAuditOperations = ServiceLocator.Current.GetInstance <ISolrOperations <EHSDoc> >();

            foreach (var EHSDoc in EHSDocs)
            {
                solrAuditOperations.Add(EHSDoc);
            }

            solrAuditOperations.Commit();
        }
Exemplo n.º 15
0
        static void Main(string[] args)
        {
            Startup.Init <Media>("http://*****:*****@"..\..\media.json"));

            foreach (Media media in allMedia)
            {
                solr.Add(media);
            }

            solr.Commit();
        }
Exemplo n.º 16
0
        public ActionResult AddProduct()
        {
            var product = new Product
            {
                Id           = new Random().Next().ToString(),
                InStock      = true,
                Manufacturer = "Apple",
                Price        = 50m,
                Weight       = 20,
                Categories   = new[] { "Computers", "Electronics" }
            };

            solr.Add(product);
            solr.Commit();

            return(Json(new { product }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 17
0
        public void Execute()
        {
            SmartFormRepo repo = new SmartFormRepo();
            var           dynamicSmartForms = repo.GetDynamicSmartForms();

            List <EHSDoc> smartForms = MapEHSDoc(dynamicSmartForms);

            ISolrOperations <EHSDoc> solrAuditOperations = ServiceLocator.Current.GetInstance <ISolrOperations <EHSDoc> >();

            foreach (var sf in smartForms)
            {
                if ((!String.IsNullOrWhiteSpace(sf.FormType) && !sf.FormType.Contains("GHG")))
                {
                    solrAuditOperations.Add(sf);
                }
            }
            solrAuditOperations.Commit();
        }
Exemplo n.º 18
0
        public void Fun()
        {
            Startup.Init <Article>("http://localhost:8983/solr/test");
            ISolrOperations <Article> solr = ServiceLocator.Current.GetInstance <ISolrOperations <Article> >();
            //添加
            Article t = new Article {
                id = 3, title = "mm",
            };
            var  res     = solr.Add(t);
            bool success = res.Status == 0;
            //查询
            var qTB = new SolrQueryByField("id", "1");

            // var results = solr.Query(qTB);

            //删除
            // var result=solr.Delete(qTB);
            Console.WriteLine("end");
        }
        public bool SaveData(ISolrOperations <SearchResultItem> solr, EmployeeModel model)
        {
            bool result;

            try
            {
                SearchResultItem objData = new SearchResultItem()
                {
                    Id = model.Id, FirstName = model.FirstName, LastName = model.LastName, Address = model.Address, Salary = model.Salary.Value, Department = model.Department
                };
                solr.Add(objData);
                solr.Commit();
                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }
            return(result);
        }
Exemplo n.º 20
0
        public static void ReIndexAllCourses()
        {
            //initialize the connection
            Startup.Init <Course>("http://desktop-nphjedv:8983/solr/courses");

            ISolrOperations <Course> solr = ServiceLocator.Current.GetInstance <ISolrOperations <Course> >();

            //delete all documents
            solr.Delete(SolrQuery.All);

            //load json file
            var courses = JsonConvert.DeserializeObject <List <Course> >(File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data", "courses.json")));

            //update the index
            foreach (var course in courses)
            {
                solr.Add(course);
            }
            solr.Commit();
        }
Exemplo n.º 21
0
        public void Index(RegisterIndexDoc doc)
        {
            var currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture;

            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            Log.Info(string.Format("Indexing single document systemID={0}", doc.SystemID));
            try
            {
                _solr.Add(doc);
                _solr.Commit();
            }
            catch (SolrNet.Exceptions.SolrConnectionException ex)
            {
                Log.Error("Connection to solr failed" + ex);
            }
            catch (Exception ex)
            {
                Log.Error("Error:" + ex.Message);
            }
            System.Threading.Thread.CurrentThread.CurrentCulture = currentCulture;
        }
Exemplo n.º 22
0
        public void IndexItem(CmsSearchResultItem content, bool isPublished)
        {
            if (InstanceHelper.IsInstance(content))
            {
                ISolrOperations <CmsSearchResultItem> instance = ServiceLocator.Current.GetInstance <ISolrOperations <CmsSearchResultItem> >();
                instance.Add(content);
                instance.Commit();
            }

            if (isPublished)
            {
                var contentPublished = Mapper.Map <CmsSearchResultItemPublished>(content);

                if (InstanceHelper.IsInstance(contentPublished))
                {
                    ISolrOperations <CmsSearchResultItemPublished> instancePublished = ServiceLocator.Current.GetInstance <ISolrOperations <CmsSearchResultItemPublished> >();
                    instancePublished.Add(contentPublished);
                    instancePublished.Commit();
                }
            }
        }
Exemplo n.º 23
0
        static void Main(string[] args)
        {
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            //deleting the core contents if needed
            //http://localhost:9000/solr/movies_list/update?stream.body=<delete><query>*:*</query></delete>&commit=true

            //Read file and deserialize using Json.Net
            List <Movies> allMovies = JsonConvert.DeserializeObject <List <Movies> >(File.ReadAllText(@"..\..\movies_list.json"));

            Startup.Init <Movies>("https://localhost:9000/solr/movies_list");

            ISolrOperations <Movies> solr = ServiceLocator.Current.GetInstance <ISolrOperations <Movies> >();

            foreach (Movies movie in allMovies)
            {
                solr.Add(movie);
            }

            solr.Commit();
        }
Exemplo n.º 24
0
        public static void insertintosolr(string title, string _abstract, string link, string date, string tag, int answer_count, string body)
        {
            if (solr == null)
            {
                Startup.Init <SolrData>("http://10.2.28.82:8080/solr/#/collection1");
                solr = ServiceLocator.Current.GetInstance <ISolrOperations <SolrData> >();
            }
            SolrData data = new SolrData()
            {
                id = "web" + link,
                //owner = "xzw",
                //view_count = 0,
                //answer_count = answer_count,
                creation_date = date,
                title         = title,
                links         = link,
                content       = body,
                keywords      = title + "," + tag
            };

            solr.Add(data);
            solr.Commit();
        }
Exemplo n.º 25
0
        public IActionResult Index()
        {
            var userRequests = new UserRequests
            {
                Id         = 1,
                Reference  = "U001",
                Firstname  = "Gilles",
                Firstname2 = "Gilles",
                Lastname   = "Lautrou"
            };

            //Add
            _solr.Add(userRequests);
            _solr.Commit();

            //Get
            var results1 = _solr.Query(new SolrQueryByField("id", "1"));
            var results2 = _solr.Query(new SolrQueryByField("firstname2", "Gilles"));
            var results3 = _solr.Query(new SolrQueryByField("firstname2", "gilles"));
            var results4 = _solr.Query(new SolrQueryByField("firstname2", "lles"));

            return(View());
        }
Exemplo n.º 26
0
        public async Task <ResponseResult> Add()
        {
            // 同步添加文档
            solr.Add(
                new PostDoc()
            {
                Id       = 30001,
                Name     = "This SolrNet Name",
                Title    = "This SolrNet Title",
                Excerpt  = "This SolrNet Excerpt",
                Content  = "This SolrNet Content 30001",
                PostDate = DateTime.Now
            }
                );
            // 异步添加文档
            await solr.AddAsync(
                new PostDoc()
            {
                Id       = 30002,
                Name     = "This SolrNet Name",
                Title    = "This SolrNet Title",
                Excerpt  = "This SolrNet Excerpt",
                Content  = "This SolrNet Content 30002",
                PostDate = DateTime.Now
            }
                );

            ResponseHeader responseHeader = await solr.CommitAsync();

            ResponseResult response = new ResponseResult();

            if (responseHeader.Status == 0)
            {
                response.Status = ResponseStatus.SUCCEED;
            }
            return(response);
        }
        public void Execute()
        {
            Console.WriteLine("Mapper mode: (A)annotations, (AD)annotations and dictionary, (DD) dynamic dictionary");
            string input = Console.ReadLine();

            //default
            var audit = new EHSDoc();

            audit = CreateAnnotaionMapping();

            if (input == "A")
            {
                audit = CreateAnnotaionMapping();
                Startup.Init <EHSDoc>("http://localhost:8983/solr/Audits");
                ISolrOperations <EHSDoc> solrAuditOperations = ServiceLocator.Current.GetInstance <ISolrOperations <EHSDoc> >();
                solrAuditOperations.Add(audit);
                solrAuditOperations.Commit();
            }
            else if (input == "AD")
            {
                var auditWDict = new AuditWDict();
                auditWDict = CreateAnnotationWDictionaryMapping();
                Startup.Init <AuditWDict>("http://localhost:8983/solr/Audits");
                ISolrOperations <AuditWDict> solrAuditWDictOperations = ServiceLocator.Current.GetInstance <ISolrOperations <AuditWDict> >();
                solrAuditWDictOperations.Add(auditWDict);
                solrAuditWDictOperations.Commit();
            }
            else if (input == "DD")
            {
                var auditDict = CreateFullyLooseMapping().audit;
                Startup.Init <Dictionary <string, object> >("http://localhost:8983/solr/Audits");
                ISolrOperations <Dictionary <string, object> > solrFullyLooseDictMap = ServiceLocator.Current.GetInstance <ISolrOperations <Dictionary <string, object> > >();
                solrFullyLooseDictMap.Add(auditDict);
                solrFullyLooseDictMap.Commit();
            }
        }
Exemplo n.º 28
0
 public void InsertProduct(VisitedLinkFindNewSolr product)
 {
     _solrHistory.Add(product);
     _solrHistory.Commit();
 }
Exemplo n.º 29
0
 public void InsertProduct(HistoryProductSorl product)
 {
     _solrHistory.Add(product);
     //_solrHistory.Commit();
 }
Exemplo n.º 30
0
        public async Task <IActionResult> Index(StaffUsers staff)
        {
            try
            {
                //get the current issuer id
                var userid = User.Claims.FirstOrDefault(c => c.Type == AppUtility.UserId).Value;

                // Create object of staffUsers model
                StaffUsers staffUsers = new StaffUsers();
                staff.Users.IsUserVerified = true;
                staff.Users.Password       = AppUtility.Encrypt("Welcome@123");
                staff.Users.CreatedDate    = DateTime.Now;

                // find the issuer in the collection
                var issuerModel = collection.Find(e => e.UserId == new ObjectId(userid)).FirstOrDefault();
                if (issuerModel != null)
                {
                    staff.Users.CreatedBy = issuerModel.Name;
                }

                //check email of users already exists
                var IsemailExists = Users.Find(e => e.Email == staff.Users.Email).ToList();
                if (IsemailExists.Count() > 0)
                {
                    ModelState.AddModelError(string.Empty, "User with this email already exist");
                    var        userrolelist = UserRoles.Find(FilterDefinition <UserRoles> .Empty).ToList();
                    StaffUsers staffUsers1  = new StaffUsers();
                    staffUsers1.UserRoles = userrolelist;
                    return(View(staffUsers1));
                }
                var useremail = Users.Find(e => e.Email == staff.Users.Email).FirstOrDefault();
                if (useremail == null)
                {
                    Users.InsertOne(staff.Users); // insert staff in user collection
                    SolrUsersModel su = new SolrUsersModel(staff.Users);
                    _solr.Add(su);
                    _solr.Commit();

                    var staffid = Users.Find(e => e.UserId == staff.Users.UserId).FirstOrDefault(); //get the staffid in user collections

                    string[] ids         = new[] { staffid.UserId.ToString() };
                    Users[]  staffobject = new[] { staff.Users };
                    //get the issuer in the issuer collection
                    var issuerModelnew = collection.Find(e => e.UserId == new ObjectId(userid)).FirstOrDefault();


                    if (issuerModelnew.StaffsIds != null && issuerModelnew.Staffsobject != null)
                    {
                        collection.UpdateOneAsync(x => x.UserId == new MongoDB.Bson.ObjectId(userid),
                                                  Builders <Issuers> .Update.PushEach(x => x.StaffsIds, ids)).ConfigureAwait(false); // push the staff id into the array of issuer staffids
                        collection.UpdateOneAsync(x => x.UserId == new MongoDB.Bson.ObjectId(userid),
                                                  Builders <Issuers> .Update.PushEach(x => x.Staffsobject, staffobject)).ConfigureAwait(false);
                    }
                    else
                    {
                        var filter = Builders <Issuers> .Filter.Eq("UserId", new ObjectId(userid));

                        var updateDef = Builders <Issuers> .Update.
                                        Set("StaffsIds", ids);

                        updateDef = updateDef.
                                    Set("Staffsobject", staffobject);
                        collection.UpdateOne(filter, updateDef); // update the staffids column
                    }



                    if (issuerModel.StaffsIds != null && issuerModel.Staffsobject != null)
                    {
                        string[] staffArr    = new string[issuerModel.StaffsIds.Length + 1];
                        Users[]  staffObjArr = new Models.Users[issuerModel.Staffsobject.Length + 1];

                        for (int i = 0; i <= issuerModel.StaffsIds.Length - 1; i++)
                        {
                            staffArr[i]    = issuerModel.StaffsIds[i];
                            staffObjArr[i] = issuerModel.Staffsobject[i];
                        }
                        staffArr[issuerModel.StaffsIds.Length]       = ids[0];
                        staffObjArr[issuerModel.Staffsobject.Length] = staffobject[0];
                        issuerModel.StaffsIds    = staffArr;
                        issuerModel.Staffsobject = staffObjArr;
                    }
                    else
                    {
                        issuerModel.StaffsIds    = ids;
                        issuerModel.Staffsobject = staffobject;
                    }

                    issuerModelnew.UserId = new ObjectId(userid);
                    //        SolrIssuersModel sissuser = new SolrIssuersModel(issuerModelnew);
                    //      _solrIssuer.Add(sissuser);
                    //    _solrIssuer.Commit();

                    //send the email to the created staff
                    await _emailSender.SendEmailAsync(staff.Users.Email,
                                                      "Congratulation, you are invited as a staff",
                                                      $"<h3 style = 'color:blueviolet' >Congratulation, you are invited.. for login</h3><div class='text-center'><a class='btn btn-secondary' href='http://digibadge.eastus.cloudapp.azure.com/Auth/Login'>Login your Account</a></div><br />" +
                                                      $"" +
                                                      $"<br/><h2>Your id - {staff.Users.Email}</h2><br/><h2>Your Password - {"Welcome@123"}</h2><br/></div><div class='col-3'></div></div>"
                                                      );
                }

                // email exists then push the staff id into the array
                else
                {
                    var      staffid      = Users.Find(e => e.UserId == useremail.UserId).FirstOrDefault();
                    string[] ids          = new[] { staffid.UserId.ToString() };
                    Users[]  staffobject  = new[] { staff.Users };
                    var      issuerModel1 = collection.Find(e => e.UserId == new ObjectId(userid)).FirstOrDefault();
                    if (issuerModel1.StaffsIds != null)
                    {
                        collection.UpdateOneAsync(x => x.UserId == new MongoDB.Bson.ObjectId(userid),
                                                  Builders <Issuers> .Update.PushEach(x => x.StaffsIds, ids)).ConfigureAwait(false);
                        collection.UpdateOneAsync(x => x.UserId == new MongoDB.Bson.ObjectId(userid),
                                                  Builders <Issuers> .Update.PushEach(x => x.Staffsobject, staffobject)).ConfigureAwait(false);
                    }
                    else
                    {
                        var filter = Builders <Issuers> .Filter.Eq("UserId", new ObjectId(userid));

                        var updateDef = Builders <Issuers> .Update.
                                        Set("StaffsIds", ids);

                        updateDef = updateDef.
                                    Set("Staffsobject", staffobject);
                        collection.UpdateOne(filter, updateDef);
                    }

                    /* SolrUsersModel su = new SolrUsersModel(staff.Users);
                     * _solr.Add(su);
                     * _solr.Commit();*/

                    if (issuerModel1.StaffsIds != null && issuerModel1.Staffsobject != null)
                    {
                        string[] staffArr    = new string[issuerModel1.StaffsIds.Length + 1];
                        Users[]  staffObjArr = new Models.Users[issuerModel1.Staffsobject.Length + 1];

                        for (int i = 0; i <= issuerModel1.StaffsIds.Length - 1; i++)
                        {
                            staffArr[i]    = issuerModel1.StaffsIds[i];
                            staffObjArr[i] = issuerModel1.Staffsobject[i];
                        }
                        staffArr[issuerModel1.StaffsIds.Length]       = ids[0];
                        staffObjArr[issuerModel1.Staffsobject.Length] = staffobject[0];
                        issuerModel1.StaffsIds    = staffArr;
                        issuerModel1.Staffsobject = staffObjArr;
                    }
                    else
                    {
                        issuerModel1.StaffsIds    = ids;
                        issuerModel1.Staffsobject = staffobject;
                    }

                    issuerModel1.UserId = new ObjectId(userid);
                    // SolrIssuersModel sissuser = new SolrIssuersModel(issuerModel1);
                    //_solrIssuer.Add(sissuser);
                    //_solrIssuer.Commit();


                    //send email to the created staff
                    await _emailSender.SendEmailAsync(staff.Users.Email,
                                                      "Congratulation, you are invited as a staff",

                                                      $"<h3 style = 'color:blueviolet' >Congratulation, you are invited.. for login</h3><div class='text-center'><a class='btn btn-secondary' href='http://digibadge.eastus.cloudapp.azure.com/Auth/Login'>Login your Account</a></div><br />" +
                                                      $"" +
                                                      $"<br/><h2>Your id - ${staff.Users.Email}</h2><br/><h2>Your Password - ${"Welcome@123"}</h2><br/></div><div class='col-3'></div></div>"
                                                      );
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError(string.Empty, "Please try again later.");
                return(View());
            }
            return(RedirectToAction("ViewStaff"));
        }