Exemple #1
0
    public string updateCompanyInDb(string id, string mail, string pass, string name, string owner, string type, string loc, string dbch)
    {
        Companies  recvm = mongoDbase.getCompanyById(ObjectId.Parse(id));
        CompaniesR recvv = raven.getCompanyByEmail(recvm.Email);

        recvv.Email    = recvm.Email = mail;
        recvv.Password = recvm.Password = pass;
        recvv.Owner    = recvm.Owner = owner;
        recvv.Location = recvm.Location = loc;

        var temp = recvv.CompanyName;

        var cId = raven.getCompanyByName(name);

        Changes changeFinal = null;

        if (cId.Count == 0)
        {
            return("There is no such company!");
        }

        if (temp != name && temp != null)
        {
            var tempC = raven.getCompanyByName(temp);
            for (int i = 0; i < tempC[0].Employees.Count; i++)
            {
                var tempE = raven.getWorkerById(tempC[0].Employees[i]);
                tempE.CompanyName = name;
                raven.updateWorker(tempE);
            }
            recvv.CompanyName = name;
        }
        else if (temp == null)
        {
            recvv.CompanyName = name;
        }

        var res = raven.updateCompany(recvv);

        //mongo
        if (temp != name && temp != null)
        {
            var tempC = mongoDbase.getCompanyByName(temp);
            for (int i = 0; i < tempC[0].Employees.Count; i++)
            {
                var tempE = mongoDbase.getWorkerById(tempC[0].Employees[i]);
                tempE.CompanyName = name;
                mongoDbase.updateWorker(tempE);
            }
            recvm.CompanyName = name;
        }
        else if (temp == null)
        {
            recvm.CompanyName = name;
        }

        var resm = mongoDbase.updateCompany(recvm);

        Changes ch = new Changes()
        {
            Actor1           = res.Id,
            Actor1Name       = res.CompanyName,
            Actor1Collection = "CompaniesR",
            Type             = " has updated profile!",
            Time             = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
        };

        changeFinal = raven.addFriendChange(ch);

        var dbTemplist = raven.getDBPref();

        string dbtemp = null;

        if (dbTemplist.Count != 0)
        {
            for (int i = 0; i < dbTemplist.Count; i++)
            {
                if (dbTemplist[i].MongoId == recvm.Id.ToString() && dbTemplist[i].RavenId == recvv.Id.ToString())
                {
                    dbtemp = dbTemplist[i].DbName;
                }
            }
            if (dbtemp == null)
            {
                DBCheck dbc = new DBCheck()
                {
                    Collection = "company",
                    DbName     = "raven",
                    Mail       = mail,
                    Password   = pass,
                    MongoId    = recvm.Id.ToString(),
                    RavenId    = recvv.Id.ToString()
                };

                var dbcRet = raven.setDB(dbc);
            }
        }

        if (dbtemp != null && dbtemp != dbch)
        {
            DBCheck dbc = new DBCheck()
            {
                Collection = "company",
                DbName     = dbch,
                Mail       = mail,
                Password   = pass,
                MongoId    = recvm.Id.ToString(),
                RavenId    = recvv.Id.ToString()
            };

            var dbcRet = raven.setDB(dbc);
        }


        if (res != null && resm != null && changeFinal != null)
        {
            if (dbch == "raven")
            {
                HttpContext.Current.Session.Clear();
                HttpContext.Current.Session.Add("companyR", res);
                HttpContext.Current.Session.Add("database", "raven");
                return("Update successfull!");
            }
            else if (dbch == "mongo")
            {
                HttpContext.Current.Session.Clear();
                HttpContext.Current.Session.Add("company", resm);
                HttpContext.Current.Session.Add("database", "mongo");
                return("Update successfull!");
            }
        }
        return(fail);
    }