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")); } }
public ActionResult PortfoliosGridViewPartialDelete(long id) { var userId = User.Identity.GetUserId(); using (var db = new InnosixEntities()) using (var transaction = db.Database.BeginTransaction()) { var model = db.Portfolio; if (id < 0) { return(PortfoliosGridViewPartial()); } try { var userPortfolio = db.AspNetUsersToPortfolio.Single(x => x.AspNetUserId == userId && x.PortfolioId == id); db.AspNetUsersToPortfolio.Remove(userPortfolio); db.SaveChanges(); var portfolioItemIds = db.PortfolioToPortfolioItem.Where(x => x.PortfolioId == id); db.PortfolioToPortfolioItem.RemoveRange(portfolioItemIds); db.SaveChanges(); var item = model.FirstOrDefault(it => it.Id == id); if (item != null) { model.Remove(item); } db.SaveChanges(); var ptpi = db.PortfolioToPortfolioItem; var orphanPortfolioItems = db.PortfolioItem.Where(p => !ptpi.Any(y => y.PortfolioItemId == p.Id)); db.PortfolioItem.RemoveRange(orphanPortfolioItems); db.SaveChanges(); transaction.Commit(); } catch (Exception e) { ViewData["EditError"] = e.Message; transaction.Rollback(); } return(PortfoliosGridViewPartial()); } }
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())); } }
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)); } }
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")); }
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")); }
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")); }
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 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 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")); }
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")); }
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 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")); }
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); } }
private void RemoveUserPortfolios(string id) { using (var db = new InnosixEntities()) using (var transaction = db.Database.BeginTransaction()) { try { var userPortfolios = db.AspNetUsersToPortfolio.Where(x => x.AspNetUserId == id); if (!userPortfolios.Any()) { return; } foreach (var portfolio in userPortfolios) { var portfolioItemIds = db.PortfolioToPortfolioItem.Where(x => x.PortfolioId == portfolio.Id); db.PortfolioToPortfolioItem.RemoveRange(portfolioItemIds); db.SaveChanges(); var item = db.Portfolio.FirstOrDefault(it => it.Id == portfolio.Id); if (item != null) { db.Portfolio.Remove(item); } db.SaveChanges(); var ptpi = db.PortfolioToPortfolioItem; var orphanPortfolioItems = db.PortfolioItem.Where(p => !ptpi.Any(y => y.PortfolioItemId == p.Id)); db.PortfolioItem.RemoveRange(orphanPortfolioItems); db.SaveChanges(); } db.AspNetUsersToPortfolio.RemoveRange(userPortfolios); db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } } }
public void UpdateTcRating(TCRating tcRating) { using (var db = new InnosixEntities()) { tcRating.RatingDate = DateTime.Now; db.Entry(tcRating).State = EntityState.Modified; db.SaveChanges(); } }
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(); } }
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)); } }
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)); } }
public ActionResult AddToPortfolioGridViewPartialAddNew(Portfolio item, long id) { using (var db = new InnosixEntities()) using (var transaction = db.Database.BeginTransaction()) { if (ModelState.IsValid) { try { var userId = User.Identity.GetUserId(); var model = db.Portfolio; model.Add(item); db.SaveChanges(); db.AspNetUsersToPortfolio.Add( new AspNetUsersToPortfolio { AspNetUserId = userId, PortfolioId = item.Id }); db.SaveChanges(); transaction.Commit(); } catch (Exception e) { ViewData["EditError"] = e.Message; transaction.Rollback(); } } else { ViewData["EditError"] = "Please, correct all errors."; } return(AddToPortfolioGridViewPartial(id)); } }
public ActionResult ProductsGridViewPartialDelete(long id, long tcId) { using (var db = new InnosixEntities()) using (var transaction = db.Database.BeginTransaction()) { try { var model = db.Product; if (id < 0) { return(ProductsGridViewPartial(tcId)); } var productToTc = db.ProductToTC.FirstOrDefault(x => x.ProductId == id); if (productToTc != null) { db.ProductToTC.Remove(productToTc); } db.SaveChanges(); var item = model.FirstOrDefault(it => it.Id == id); if (item != null) { model.Remove(item); } db.SaveChanges(); transaction.Commit(); } catch (Exception e) { ViewData["EditError"] = e.Message; transaction.Rollback(); } return(ProductsGridViewPartial(tcId)); } }
public ActionResult ProductsGridViewPartialAddNew(Product item, long tcId) { using (var db = new InnosixEntities()) using (var transaction = db.Database.BeginTransaction()) { if (ModelState.IsValid) { try { var model = db.Product; model.Add(item); db.SaveChanges(); var productToTc = new ProductToTC { ProductId = item.Id, TCid = tcId }; db.ProductToTC.Add(productToTc); db.SaveChanges(); transaction.Commit(); } catch (Exception e) { ViewData["EditError"] = e.Message; transaction.Rollback(); } } else { ViewData["EditError"] = "Please, correct all errors."; } return(ProductsGridViewPartial(tcId)); } }
public ActionResult StagesGridViewPartialDelete(int id) { using (var db = new InnosixEntities()) using (var transaction = db.Database.BeginTransaction()) { try { if (id < 0) { return(StagesGridViewPartial()); } var userId = User.Identity.GetUserId(); var userToTc = db.AspNetUsersToStage.First(x => x.AspNetUserId == userId && x.StageId == id); db.AspNetUsersToStage.Remove(userToTc); db.SaveChanges(); var model = db.Stage; var item = model.FirstOrDefault(it => it.Id == id); if (item != null) { model.Remove(item); } db.SaveChanges(); transaction.Commit(); } catch (Exception e) { ViewData["EditError"] = e.Message; transaction.Rollback(); } return(StagesGridViewPartial()); } }
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")); }
public ActionResult DeclineClaim(int id) { using (var db = new InnosixEntities()) { var claim = db.AspNetUsersTcClaim.Find(id); if (claim == null) { return(View("Index")); } db.AspNetUsersTcClaim.Remove(claim); db.SaveChanges(); } return(RedirectToAction("Index")); }
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(); } }
public ActionResult PassOwnerShipDecline() { using (var db = new InnosixEntities()) { var userId = User.Identity.GetUserId(); var tcId = db.AspNetUsersToTC.First(x => x.AspNetUserId == userId).TCid; var claim = db.AspNetUsersTcClaim.First(x => x.TCid == tcId); if (claim == null) { return(RedirectToAction("Index", "Manage")); } db.AspNetUsersTcClaim.Remove(claim); db.SaveChanges(); } return(RedirectToAction("Index", "Manage")); }
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(); } }
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(); } }