public ActionResult EditUser(AspNetUsers aspNetUsers, string role)
        {
            if (!ModelState.IsValid)
            {
                return(View(aspNetUsers));
            }

            if (!Utilities.IsEmailValid(aspNetUsers.Email))
            {
                ViewBag.Message = "Invalid email address";
                return(View("EditUser", aspNetUsers));
            }

            using (var db = new InnosixEntities())
            {
                var oldUserRoleId = UserManager.FindById(aspNetUsers.Id).Roles.SingleOrDefault()?.RoleId;

                if (role != oldUserRoleId)
                {
                    var oldUserRole = db.AspNetRoles.Single(x => x.Id == oldUserRoleId).Name;
                    UserManager.RemoveFromRole(aspNetUsers.Id, oldUserRole);
                    var newRole = db.AspNetRoles.Single(x => x.Id == role).Name;
                    UserManager.AddToRole(aspNetUsers.Id, newRole);
                }

                db.Entry(aspNetUsers).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(RedirectToAction("EditUser"));
        }
Beispiel #2
0
        public ActionResult Edit([Bind(Include = "Id,Address1,Address2,Address3,Zip,City,CountryId,CompanyEmail,CompanyName,CompanyPhone,LegalSuffix,CompanyWebsite,LogoUrl,RegistrationNumber")] TCBasicInfo tcBasicInfo)
        {
            if (!ModelState.IsValid)
            {
                return(View(tcBasicInfo));
            }

            if (!Utilities.IsEmailValid(tcBasicInfo.CompanyEmail))
            {
                ViewBag.Message = "Invalid email address";
                PopulateCountryDropDownList(tcBasicInfo.CountryId);
                return(View("Edit", tcBasicInfo));
            }

            if (!Utilities.ValidUrl(tcBasicInfo.CompanyWebsite))
            {
                ViewBag.Message = "Invalid website url";
                PopulateCountryDropDownList(tcBasicInfo.CountryId);
                return(View("Edit", tcBasicInfo));
            }

            tcBasicInfo.CompanyWebsite = Utilities.CreateValidUrl(tcBasicInfo.CompanyWebsite);

            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcBasicInfo.Id).LastUpdated = DateTime.Now;
                db.Entry(tcBasicInfo).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(RedirectToAction("Edit"));
        }
        public ActionResult DeleteAccount()
        {
            var userId = User.Identity.GetUserId();

            using (var db = new InnosixEntities())
            {
                var user     = UserManager.FindById(userId);
                var userToTc = db.AspNetUsersToTC
                               .FirstOrDefault(tc => tc.AspNetUserId == userId);

                if (userToTc != null)
                {
                    var tcBasicInfo = db.TCBasicInfo
                                      .Include(x => x.TCActive)
                                      .First(x => x.Id == userToTc.TCid);

                    tcBasicInfo.TCActive.IsActive = false;

                    db.Entry(tcBasicInfo).State = EntityState.Modified;
                    db.AspNetUsersToTC.Remove(userToTc);
                    db.SaveChanges();
                }

                AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                UserManager.Delete(user);
            }

            return(View("DeleteAccountMessage"));
        }
Beispiel #4
0
        public ActionResult EditPortfolioItem([Bind(Include = "Id,TCid,StageId,NextMoveId,NextMoveDate,ResponsibleEmail,ResponsibleName,OpportunityDate,Comment")] PortfolioItem portfolioItem, long portfolioId)
        {
            if (!ModelState.IsValid)
            {
                return(EditPortfolioItem(portfolioItem.Id, portfolioItem.TCid, portfolioId));
            }

            if (!Utilities.IsEmailValid(portfolioItem.ResponsibleEmail))
            {
                ViewBag.Message = "Invalid email address";
                return(View("EditPortfolioItem", new PortfolioItemViewModel
                {
                    TcBasicInfo = _techCompanyService.GetTcWithChildren(portfolioItem.TCid),
                    PortfolioItem = portfolioItem,
                    Stages = GetStages()
                }));
            }

            using (var db = new InnosixEntities())
            {
                db.Entry(portfolioItem).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(RedirectToAction("PortfolioItems", new { id = portfolioId }));
        }
        public ActionResult PassOwnerShipAccept()
        {
            using (var db = new InnosixEntities())
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var userId = User.Identity.GetUserId();
                        var tcId   = db.AspNetUsersToTC.First(x => x.AspNetUserId == userId).TCid;

                        var usersToTc = db.AspNetUsersToTC.First(x => x.AspNetUserId == userId && x.TCid == tcId);

                        var claim = db.AspNetUsersTcClaim.First(x => x.TCid == tcId);
                        if (claim == null)
                        {
                            return(RedirectToAction("Index", "Manage"));
                        }

                        usersToTc.AspNetUserId = claim.AspNetUserId;

                        db.AspNetUsersTcClaim.Remove(claim);
                        db.Entry(usersToTc).State = EntityState.Modified;
                        db.SaveChanges();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                    }
                }

            return(RedirectToAction("Index", "Manage"));
        }
Beispiel #6
0
        public ActionResult EditContact(TCContact tcContact)
        {
            if (!ModelState.IsValid)
            {
                return(View(tcContact));
            }

            if (!Utilities.IsEmailValid(tcContact.ContactPersonEmail))
            {
                ViewBag.Message = "Invalid email address";
                return(View("EditContact", tcContact));
            }


            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcContact.TCid).LastUpdated = DateTime.Now;

                var tcContactExists = db.TCContact.Any(x => x.TCid == tcContact.TCid);
                if (tcContactExists)
                {
                    db.Entry(tcContact).State = EntityState.Modified;
                }
                else
                {
                    db.TCContact.Add(tcContact);
                }

                db.SaveChanges();
            }

            return(RedirectToAction("EditContact"));
        }
Beispiel #7
0
        public ActionResult EditIdealPartner(TCIdealPartner tcIdealPartner)
        {
            if (!ModelState.IsValid)
            {
                return(View(tcIdealPartner));
            }

            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcIdealPartner.TCid).LastUpdated = DateTime.Now;

                var tcIdealPartnerExists = db.TCIdealPartner.Any(x => x.TCid == tcIdealPartner.TCid);
                if (tcIdealPartnerExists)
                {
                    db.Entry(tcIdealPartner).State = EntityState.Modified;
                }
                else
                {
                    db.TCIdealPartner.Add(tcIdealPartner);
                }

                db.SaveChanges();
            }

            return(RedirectToAction("EditIdealPartner"));
        }
Beispiel #8
0
        public ActionResult EditBusinessInfo(TCBusinessInfo tcBusinessInfo)
        {
            if (!ModelState.IsValid)
            {
                return(View(tcBusinessInfo));
            }

            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcBusinessInfo.TCid).LastUpdated = DateTime.Now;

                var tcBusinessInfoExists = db.TCBusinessInfo.Any(x => x.TCid == tcBusinessInfo.TCid);
                if (tcBusinessInfoExists)
                {
                    db.Entry(tcBusinessInfo).State = EntityState.Modified;
                }
                else
                {
                    db.TCBusinessInfo.Add(tcBusinessInfo);
                }

                db.SaveChanges();
            }

            return(RedirectToAction("EditBusinessInfo"));
        }
Beispiel #9
0
 public void UpdateTcRating(TCRating tcRating)
 {
     using (var db = new InnosixEntities())
     {
         tcRating.RatingDate      = DateTime.Now;
         db.Entry(tcRating).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
Beispiel #10
0
 public void UpdateTcBasicInfo(TCBasicInfo tcBasicInfo)
 {
     using (var db = new InnosixEntities())
     {
         db.TCGeneral.Find(tcBasicInfo.Id).LastUpdated = DateTime.Now;
         db.Entry(tcBasicInfo).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
Beispiel #11
0
        public ActionResult AcceptAdditionalTag(string tagName)
        {
            using (var db = new InnosixEntities())
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var tags = db.TechTag;

                        if (tags.Any(t => t.TagName == tagName))
                        {
                            ViewBag.Message = $"Tag with name: {tagName}, already exists";
                            return(View("AdditionalTags"));
                        }

                        var newTag = new TechTag
                        {
                            TagName = tagName
                        };

                        db.TechTag.Add(newTag);
                        db.SaveChanges();

                        var tcsWithAddTag = db.TCBasicInfo.Include(t => t.TCTechnology)
                                            .Where(t => t.TCTechnology.AdditionalTechTags.Contains(tagName))
                                            .ToList();

                        foreach (var tc in tcsWithAddTag)
                        {
                            var tagList = tc.TCTechnology.AdditionalTechTags.Split(',').Select(t => t.Trim()).ToList();
                            tagList.Remove(tagName);
                            tc.TCTechnology.AdditionalTechTags = string.Join(",", tagList);

                            db.Entry(tc).State = EntityState.Modified;
                            var newTagId = db.TechTag.First(t => t.TagName == tagName).Id;
                            tc.TechTagToTC.Add(new TechTagToTC {
                                TechTagId = newTagId
                            });
                            db.SaveChanges();
                        }

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        ViewData["EditError"] = ex.Message;
                        transaction.Rollback();
                    }

                    ViewBag.Message = $"Tag with name: {tagName}, added";
                    return(View("AdditionalTags"));
                }
        }
Beispiel #12
0
        public ActionResult UpdateTag(TechTag tag)
        {
            if (!ModelState.IsValid)
            {
                return(View("Index"));
            }

            using (var db = new InnosixEntities())
            {
                db.Entry(tag).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Beispiel #13
0
        public void UpdateTcBusinessInfo(TCBusinessInfo tcBusinessInfo)
        {
            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcBusinessInfo.TCid).LastUpdated = DateTime.Now;

                var tcBusinessInfoExists = db.TCBusinessInfo.Any(x => x.TCid == tcBusinessInfo.TCid);
                if (tcBusinessInfoExists)
                {
                    db.Entry(tcBusinessInfo).State = EntityState.Modified;
                }
                else
                {
                    db.TCBusinessInfo.Add(tcBusinessInfo);
                }

                db.SaveChanges();
            }
        }
Beispiel #14
0
        public void UpdateTcContact(TCContact tcContact)
        {
            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcContact.TCid).LastUpdated = DateTime.Now;

                var tcContactExists = db.TCContact.Any(x => x.TCid == tcContact.TCid);
                if (tcContactExists)
                {
                    db.Entry(tcContact).State = EntityState.Modified;
                }
                else
                {
                    db.TCContact.Add(tcContact);
                }

                db.SaveChanges();
            }
        }
Beispiel #15
0
        public void UpdateTcIdealPartner(TCIdealPartner tcIdealPartner)
        {
            using (var db = new InnosixEntities())
            {
                db.TCGeneral.Find(tcIdealPartner.TCid).LastUpdated = DateTime.Now;

                var tcIdealPartnerExists = db.TCIdealPartner.Any(x => x.TCid == tcIdealPartner.TCid);
                if (tcIdealPartnerExists)
                {
                    db.Entry(tcIdealPartner).State = EntityState.Modified;
                }
                else
                {
                    db.TCIdealPartner.Add(tcIdealPartner);
                }

                db.SaveChanges();
            }
        }
Beispiel #16
0
        public ActionResult PortfolioItemsGridViewPartialDelete(long id, long portfolioId)
        {
            using (var db = new InnosixEntities())
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var model = db.PortfolioItem;

                        if (id < 0)
                        {
                            return(PortfolioItemsGridViewPartial(portfolioId));
                        }

                        var itemInPortfolios = db.PortfolioToPortfolioItem
                                               .Where(x => x.PortfolioItemId == id);
                        db.PortfolioToPortfolioItem.RemoveRange(itemInPortfolios);

                        var item = model.FirstOrDefault(it => it.Id == id);
                        if (item != null)
                        {
                            model.Remove(item);
                        }
                        db.SaveChanges();

                        var portfolio = db.Portfolio.Find(portfolioId);
                        portfolio.NrOfTCs         = portfolio.NrOfTCs - 1;
                        db.Entry(portfolio).State = EntityState.Modified;
                        db.SaveChanges();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        ViewData["EditError"] = ex.Message;
                        transaction.Rollback();
                    }
                    return(PortfolioItemsGridViewPartial(portfolioId));
                }
        }
Beispiel #17
0
        public ActionResult AddToPortfolio(long id, long portfolioId)
        {
            using (var db = new InnosixEntities())
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var newItem = new PortfolioItem
                        {
                            TCid            = id,
                            OpportunityDate = DateTime.Now
                        };
                        db.PortfolioItem.Add(newItem);
                        db.SaveChanges();

                        var newItemToPortfolio = new PortfolioToPortfolioItem
                        {
                            PortfolioId     = portfolioId,
                            PortfolioItemId = newItem.Id
                        };
                        db.PortfolioToPortfolioItem.Add(newItemToPortfolio);
                        db.SaveChanges();

                        ViewBag.Message = "Added company to portfolio";

                        var portfolio = db.Portfolio.Find(portfolioId);
                        portfolio.NrOfTCs         = portfolio.NrOfTCs + 1;
                        db.Entry(portfolio).State = EntityState.Modified;
                        db.SaveChanges();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                    }

                    return(AddCompanyToPortfolio(id));
                }
        }
        private void RemoveUserTc(string id)
        {
            using (var db = new InnosixEntities())
            {
                var userToTc = db.AspNetUsersToTC
                               .FirstOrDefault(tc => tc.AspNetUserId == id);

                if (userToTc == null)
                {
                    return;
                }

                var tcBasicInfo = db.TCBasicInfo
                                  .Include(x => x.TCActive)
                                  .First(x => x.Id == userToTc.TCid);

                tcBasicInfo.TCActive.IsActive = false;

                db.Entry(tcBasicInfo).State = EntityState.Modified;
                db.AspNetUsersToTC.Remove(userToTc);
                db.SaveChanges();
            }
        }
Beispiel #19
0
        public void UpdateTcTechnology(TCTechnology tcTechnology, int[] tagIds, int[] techDomainIds)
        {
            using (var db = new InnosixEntities())
            {
                var tcTagIds = db.TechTagToTC.Where(t => t.TCid == tcTechnology.TCid);
                db.TechTagToTC.RemoveRange(tcTagIds);
                foreach (var tagId in tagIds)
                {
                    db.TechTagToTC.Add(new TechTagToTC {
                        TCid = tcTechnology.TCid, TechTagId = tagId
                    });
                }

                var tcTechDomains = db.TechDomainToTC.Where(t => t.TCid == tcTechnology.TCid);
                db.TechDomainToTC.RemoveRange(tcTechDomains);
                foreach (var techDomainId in techDomainIds)
                {
                    db.TechDomainToTC.Add(new TechDomainToTC {
                        TCid = tcTechnology.TCid, TechDomainId = techDomainId
                    });
                }

                db.TCGeneral.Find(tcTechnology.TCid).LastUpdated = DateTime.Now;

                var tcTechnologyExists = db.TCTechnology.Any(x => x.TCid == tcTechnology.TCid);
                if (tcTechnologyExists)
                {
                    db.Entry(tcTechnology).State = EntityState.Modified;
                }
                else
                {
                    db.TCTechnology.Add(tcTechnology);
                }

                db.SaveChanges();
            }
        }
Beispiel #20
0
        public ActionResult EditTechnology([Bind(Include = "TCid,AdditionalTechTags,Patents,OtherIpNotPatented,TechnologySectorId")] TCTechnology tCTechnology, int[] tagIds, int[] techDomainIds)
        {
            if (!ModelState.IsValid)
            {
                return(View(tCTechnology));
            }

            if (tagIds == null || tagIds.Length < 3)
            {
                ViewBag.Message = "Required minimum 3 tags";
                return(EditTechnology());
            }

            if (techDomainIds == null || techDomainIds.Length == 0 || techDomainIds.Length > 3)
            {
                ViewBag.Message = "Required minimum 1 tech domain and maximum of 3";
                return(EditTechnology());
            }

            if (!string.IsNullOrWhiteSpace(tCTechnology.AdditionalTechTags))
            {
                var additionalTagList = tCTechnology.AdditionalTechTags.Split(',').Select(t => t.Trim()).ToList();
                tCTechnology.AdditionalTechTags = string.Join(",", additionalTagList);
            }

            using (var db = new InnosixEntities())
            {
                var tcTagIds = db.TechTagToTC.Where(t => t.TCid == tCTechnology.TCid);
                db.TechTagToTC.RemoveRange(tcTagIds);
                foreach (var tagId in tagIds)
                {
                    db.TechTagToTC.Add(new TechTagToTC {
                        TCid = tCTechnology.TCid, TechTagId = tagId
                    });
                }

                var tcTechDomains = db.TechDomainToTC.Where(t => t.TCid == tCTechnology.TCid);
                db.TechDomainToTC.RemoveRange(tcTechDomains);
                foreach (var techDomainId in techDomainIds)
                {
                    db.TechDomainToTC.Add(new TechDomainToTC {
                        TCid = tCTechnology.TCid, TechDomainId = techDomainId
                    });
                }

                db.TCGeneral.Find(tCTechnology.TCid).LastUpdated = DateTime.Now;

                var tcTechnologyExists = db.TCTechnology.Any(x => x.TCid == tCTechnology.TCid);
                if (tcTechnologyExists)
                {
                    db.Entry(tCTechnology).State = EntityState.Modified;
                }
                else
                {
                    db.TCTechnology.Add(tCTechnology);
                }

                db.SaveChanges();
            }

            return(RedirectToAction("EditTechnology"));
        }