public ActionResult DeleteConfirmed(int id)
        {
            Portfolio_Project portfolio_Project = db.Portfolio_Project.Find(id);

            db.Portfolio_Project.Remove(portfolio_Project);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Portfolio_Project portfolio_Project = db.Portfolio_Project.Find(id);

            if (portfolio_Project == null)
            {
                return(HttpNotFound());
            }
            return(View(portfolio_Project));
        }
        public ActionResult ProjectProcess(ProjectModelView projectmodelview)
        {
            if (ModelState.IsValid)
            {
                if (projectmodelview.Id == null)
                {
                    if (projectmodelview.c_Company_Name == null && projectmodelview.c_Owner_NameSurname == null)
                    {
                        Portfolio_Project prj = new Portfolio_Project();
                        prj.Company_Id          = projectmodelview.p_Company_Id;
                        prj.FinishDate          = projectmodelview.p_FinishDate;
                        prj.Header              = projectmodelview.p_Header;
                        prj.ProjectStatus       = projectmodelview.p_ProjectStatus;
                        prj.Rate                = projectmodelview.p_Rate;
                        prj.Project_Description = projectmodelview.p_Project_Description;
                        prj.Special_Header      = projectmodelview.p_Special_Header;
                        prj.Type                = projectmodelview.p_Type;
                        db.Portfolio_Project.Add(prj);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        Portfolio_Company pcom = new Portfolio_Company();
                        pcom.Owner_EMail       = projectmodelview.c_Owner_EMail;
                        pcom.Company_Name      = projectmodelview.c_Company_Name;
                        pcom.Owner_Phone       = projectmodelview.c_Owner_Phone;
                        pcom.Owner_Title       = projectmodelview.c_Owner_Title;
                        pcom.Owner_NameSurname = projectmodelview.c_Owner_NameSurname;
                        db.Portfolio_Company.Add(pcom);
                        db.SaveChanges();

                        var com_Id =
                            db.Portfolio_Company.Where(
                                x =>
                                x.Owner_NameSurname == projectmodelview.c_Owner_NameSurname &&
                                x.Company_Name == projectmodelview.c_Company_Name)
                            .Select(x => x.Id)
                            .FirstOrDefault();

                        Portfolio_Project prj = new Portfolio_Project();
                        prj.Company_Id          = com_Id;
                        prj.FinishDate          = projectmodelview.p_FinishDate;
                        prj.Header              = projectmodelview.p_Header;
                        prj.ProjectStatus       = projectmodelview.p_ProjectStatus;
                        prj.Rate                = projectmodelview.p_Rate;
                        prj.Project_Description = projectmodelview.p_Project_Description;
                        prj.Special_Header      = projectmodelview.p_Special_Header;
                        prj.Type                = projectmodelview.p_Type;
                        db.Portfolio_Project.Add(prj);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    Portfolio_Project prj = db.Portfolio_Project.FirstOrDefault(x => x.Id == projectmodelview.Id);
                    prj.Company_Id          = projectmodelview.p_Company_Id;
                    prj.FinishDate          = projectmodelview.p_FinishDate;
                    prj.Header              = projectmodelview.p_Header;
                    prj.ProjectStatus       = projectmodelview.p_ProjectStatus;
                    prj.Rate                = projectmodelview.p_Rate;
                    prj.Project_Description = projectmodelview.p_Project_Description;
                    prj.Special_Header      = projectmodelview.p_Special_Header;
                    prj.Type                = projectmodelview.p_Type;

                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            AddItemDropDownList();
            return(View(projectmodelview));
        }
Ejemplo n.º 4
0
        public void UpdateProjectsAndFilters(PortfolioViewModel viewModel)
        {
            foreach (var project in viewModel.PortfolioProjects.Where(x => !string.IsNullOrEmpty(x.ProjectName)))
            {
                var projectRecord = db.Portfolio_Projects.FirstOrDefault(x => x.Id == project.ProjectID);
                int projectID     = 0;
                if (projectRecord != null)
                {
                    var existingFilters = db.Portfolio_ProjectTypeMappings.Where(x => x.ProjectId == projectRecord.Id).ToList();
                    if (existingFilters.Count > 0)
                    {
                        db.Portfolio_ProjectTypeMappings.RemoveRange(existingFilters);
                    }
                    projectID                 = projectRecord.Id;
                    projectRecord.Name        = project.ProjectName;
                    projectRecord.Description = project.ProjectDescription;
                    projectRecord.Image       = project.EncodedImage;
                    db.SaveChanges();
                }
                else
                {
                    var newProjectRecord = new Portfolio_Project()
                    {
                        Name        = project.ProjectName,
                        Description = project.ProjectDescription,
                        Image       = project.EncodedImage
                    };
                    db.Portfolio_Projects.Add(newProjectRecord);
                    db.SaveChanges();
                    projectID = newProjectRecord.Id;
                }
                if (!string.IsNullOrEmpty(project._CommaDelimitedProjectFilters))
                {
                    var filters = project._CommaDelimitedProjectFilters.Split(',');

                    foreach (var filter in filters)
                    {
                        var filterRecord = db.Portfolio_ProjectTypes.FirstOrDefault(x => x.Type == filter);
                        int filterID     = 0;
                        if (filterRecord != null)
                        {
                            filterID = filterRecord.Id;
                        }
                        else
                        {
                            var newFilter = new Portfolio_ProjectType()
                            {
                                Type = filter
                            };
                            db.Portfolio_ProjectTypes.Add(newFilter);
                            db.SaveChanges();
                            filterID = newFilter.Id;
                        }
                        var newProjectTypeMapping = new Portfolio_ProjectTypeMapping()
                        {
                            ProjectId     = projectID,
                            ProjectTypeId = filterID
                        };
                        db.Portfolio_ProjectTypeMappings.Add(newProjectTypeMapping);
                        db.SaveChanges();
                    }
                }
                db.SaveChanges();
            }
        }