Beispiel #1
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 }));
        }
        private IEnumerable <int> GetTagsInLevelRenge(int[] tagIds, int levelRange)
        {
            var tagIdsInRange = new HashSet <int>();

            using (var db = new InnosixEntities())
            {
                var relationTable = db.GetTagHierarchy().ToList();

                foreach (var tagId in tagIds)
                {
                    var nodes = relationTable.Where(x => x.Node.Contains($"/{tagId}/") || (x.TagId == tagId && x.Level > 0));

                    foreach (var node in nodes)
                    {
                        var nodeTagIds = node.Node.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);

                        var tagIndex = nodeTagIds.IndexOf(tagId.ToString());

                        var indexStart = tagIndex - levelRange;
                        indexStart = indexStart > 0 ? indexStart : 0;

                        var indexEnd = tagIndex + levelRange;
                        indexEnd = indexEnd < nodeTagIds.Length - 1 ? indexEnd : nodeTagIds.Length - 1;

                        for (var i = indexStart; i <= indexEnd; i++)
                        {
                            tagIdsInRange.Add(int.Parse(nodeTagIds[i]));
                        }
                    }
                }
            }
            return(tagIdsInRange);
        }
        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"));
        }
        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 #5
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 #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 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"));
        }
Beispiel #8
0
        public ActionResult EditTagUnlinkGridViewPartialUnlink(int id, int unlinkTagId)
        {
            using (var db = new InnosixEntities())
            {
                var tagRelations = db.TechTagParents.Where(t =>
                                                           (t.TechTagId == id && t.ParentTechTagId == unlinkTagId) ||
                                                           (t.TechTagId == unlinkTagId && t.ParentTechTagId == id));

                try
                {
                    if (tagRelations.Any())
                    {
                        db.TechTagParents.RemoveRange(tagRelations);
                        db.SaveChanges();

                        var updatedTag       = UpdateRelationsCount(id);
                        var updatedUnlinkTag = UpdateRelationsCount(unlinkTagId);

                        if (!updatedTag || !updatedUnlinkTag)
                        {
                            throw new ArgumentNullException();
                        }
                    }
                }
                catch (Exception ex)
                {
                    ViewData["EditError"] = ex.Message;
                }

                var tag = db.TechTag.Find(id);
                return(tag == null?View("Index") : View("EditTag", tag));
            }
        }
Beispiel #9
0
        private TCBasicInfo GetTcTechnology()
        {
            using (var db = new InnosixEntities())
            {
                var tcId = GetUserTc();

                if (tcId == null)
                {
                    return(null);
                }

                var tcBasicInfo = db.TCBasicInfo
                                  .Include(x => x.TCTechnology)
                                  .Include(x => x.TCTechnology.TechSector)
                                  .Include(x => x.TechDomainToTC.Select(s => s.TechDomain))
                                  .Include(x => x.TechTagToTC.Select(s => s.TechTag))
                                  .First(t => t.Id == tcId);

                if (tcBasicInfo.TCTechnology == null)
                {
                    tcBasicInfo.TCTechnology = new TCTechnology {
                        TCid = (long)tcId
                    }
                }
                ;

                return(tcBasicInfo);
            }
        }
Beispiel #10
0
        public TCBasicInfo GetTcWithChildren(long id)
        {
            TCBasicInfo tcBasicInfo;

            using (var db = new InnosixEntities())
            {
                tcBasicInfo = db.TCBasicInfo
                              .Include(x => x.Country)
                              .Include(x => x.TCBusinessInfo)
                              .Include(x => x.TCBusinessInfo.Maturity)
                              .Include(x => x.TCBusinessInfo.Employees)
                              .Include(x => x.TCBusinessInfo.Revenue)
                              .Include(x => x.TCBusinessInfo.Nace)
                              .Include(x => x.TCTechnology.TechSector)
                              .Include(x => x.BusinessModelToTC.Select(bm => bm.BusinessModel))
                              .Include(x => x.TechDomainToTC.Select(td => td.TechDomain))
                              .Include(x => x.TechTagToTC.Select(tt => tt.TechTag))
                              .Include(x => x.ServicesToTC.Select(s => s.Services))
                              .Include(x => x.ProductToTC.Select(p => p.Product))
                              .Include(x => x.TCContact)
                              .Include(x => x.TCGeneral)
                              .Include(x => x.TCRating)
                              .FirstOrDefault(t => t.Id == id);
            }
            return(tcBasicInfo);
        }
Beispiel #11
0
 private long?TcExists(string companyWebsite)
 {
     using (var db = new InnosixEntities())
     {
         return(db.TCBasicInfo.FirstOrDefault(x => x.CompanyWebsite == companyWebsite)?.Id);
     }
 }
Beispiel #12
0
 private IEnumerable <TechDomain> GetTechDomainList()
 {
     using (var db = new InnosixEntities())
     {
         return(db.TechDomain.ToList());
     }
 }
Beispiel #13
0
 private IEnumerable <Country> GetCountryList()
 {
     using (var db = new InnosixEntities())
     {
         return(db.Country.ToList());
     }
 }
Beispiel #14
0
 private bool HasTc(string id)
 {
     using (var db = new InnosixEntities())
     {
         return(db.AspNetUsersToTC.Any(x => x.AspNetUserId == id));
     }
 }
Beispiel #15
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"));
        }
        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 #17
0
 public TCBasicInfo GetTc(long id)
 {
     using (var db = new InnosixEntities())
     {
         return(db.TCBasicInfo.Find(id));
     }
 }
Beispiel #18
0
        private bool AutomaticClaimAccept(string userId, long tcId)
        {
            using (var db = new InnosixEntities())
            {
                var exists = db.AspNetUsersToTC.Any(x => x.AspNetUserId == userId && x.TCid == tcId);
                if (exists)
                {
                    return(false);
                }

                db.AspNetUsersToTC.Add(
                    new AspNetUsersToTC
                {
                    AspNetUserId = userId,
                    TCid         = tcId
                });

                var tc = db.TCBasicInfo
                         .Include("TCActive")
                         .FirstOrDefault(x => x.Id == tcId);
                if (tc == null)
                {
                    return(false);
                }

                tc.TCActive.IsActive = true;

                db.SaveChanges();

                return(true);
            }
        }
Beispiel #19
0
        public ActionResult AcceptClaim(int id, string userId, long tcId)
        {
            using (var db = new InnosixEntities())
            {
                db.AspNetUsersToTC.Add(
                    new AspNetUsersToTC
                {
                    AspNetUserId = userId,
                    TCid         = tcId
                });

                var tc = db.TCBasicInfo
                         .Include("TCActive")
                         .FirstOrDefault(x => x.Id == tcId);
                if (tc == null)
                {
                    return(View("Index"));
                }

                tc.TCActive.IsActive = true;

                var claim = db.AspNetUsersTcClaim.Find(id);
                if (claim == null)
                {
                    return(View("Index"));
                }

                db.AspNetUsersTcClaim.Remove(claim);

                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Beispiel #20
0
 public ActionResult ProductsGridViewPartialUpdate(Product item, long tcId)
 {
     using (var db = new InnosixEntities())
     {
         var model = db.Product;
         if (ModelState.IsValid)
         {
             try
             {
                 var modelItem = model.FirstOrDefault(it => it.Id == item.Id);
                 if (modelItem != null)
                 {
                     UpdateModel(modelItem);
                     db.SaveChanges();
                 }
             }
             catch (Exception e)
             {
                 ViewData["EditError"] = e.Message;
             }
         }
         else
         {
             ViewData["EditError"] = "Please, correct all errors.";
         }
         return(ProductsGridViewPartial(tcId));
     }
 }
 public ActionResult TechSectorGridViewPartialUpdate(TechSector item)
 {
     using (var db = new InnosixEntities())
     {
         var model = db.TechSector;
         if (ModelState.IsValid)
         {
             try
             {
                 var modelItem = model.FirstOrDefault(it => it.Id == item.Id);
                 if (modelItem != null)
                 {
                     UpdateModel(modelItem);
                     db.SaveChanges();
                 }
             }
             catch (Exception e)
             {
                 ViewData["EditError"] = e.Message;
             }
         }
         else
         {
             ViewData["EditError"] = "Please, correct all errors.";
         }
         return(PartialView("_TechSectorGridViewPartial", model.ToList()));
     }
 }
Beispiel #22
0
 public ActionResult TCsGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.VTcWithTags.OrderBy(x => x.CompanyName);
         return(PartialView("_TCsGridViewPartial", model.ToList()));
     }
 }
Beispiel #23
0
 public ActionResult ClaimTcGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.VUserTcClaim.Where(x => !x.IsActive);
         return(PartialView("_ClaimTcGridViewPartial", model.ToList()));
     }
 }
 public ActionResult ServicesGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.Services;
         return(PartialView("_ServicesGridViewPartial", model.ToList()));
     }
 }
 public ActionResult TechSectorGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.TechSector;
         return(PartialView("_TechSectorGridViewPartial", model.ToList()));
     }
 }
 public ActionResult RevenueGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.Revenue;
         return(PartialView("_RevenueGridViewPartial", model.ToList()));
     }
 }
 public ActionResult MaturityGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.Maturity;
         return(PartialView("_MaturityGridViewPartial", model.ToList()));
     }
 }
 public ActionResult ClusterGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.Cluster;
         return(PartialView("_ClusterGridViewPartial", model.ToList()));
     }
 }
 public ActionResult CountryGridView1Partial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.Country;
         return(PartialView("_CountryGridView1Partial", model.ToList()));
     }
 }
 public ActionResult BusinessModelGridViewPartial()
 {
     using (var db = new InnosixEntities())
     {
         var model = db.BusinessModel;
         return(PartialView("_BusinessModelGridViewPartial", model.ToList()));
     }
 }