public ActionResult ProjectDetail(ProjectModel model)
        {
            using (var scope = new TransactionScope())
            {
                var project = _service.GetProjectById(model.Id);
                if (Equals(project, null))
                {
                    project = new project()
                    {
                        project_id = 0,
                        status     = 1
                    };
                }

                project.type      = model.Type;
                project.address   = model.Address;
                project.latitude  = model.Latitude;
                project.longitude = model.Longitude;
                if (!Equals(model.ImageFile, null))
                {
                    string fileName = "Project_" + ConvertDatetime.GetCurrentUnixTimeStamp() + Path.GetExtension(model.ImageFile.FileName);
                    string path     = Path.Combine(Server.MapPath("~/Upload"), fileName);
                    model.ImageFile.SaveAs(path);
                    project.img = fileName;
                }
                if (!Equals(model.Slide1File, null))
                {
                    string fileName = "Project_Slide1_" + ConvertDatetime.GetCurrentUnixTimeStamp() + Path.GetExtension(model.Slide1File.FileName);
                    string path     = Path.Combine(Server.MapPath("~/Upload"), fileName);
                    model.Slide1File.SaveAs(path);
                    project.slide_1 = fileName;
                }
                if (!Equals(model.Slide2File, null))
                {
                    string fileName = "Project_Slide2_" + ConvertDatetime.GetCurrentUnixTimeStamp() + Path.GetExtension(model.Slide2File.FileName);
                    string path     = Path.Combine(Server.MapPath("~/Upload"), fileName);
                    model.Slide2File.SaveAs(path);
                    project.slide_2 = fileName;
                }
                if (!Equals(model.Slide3File, null))
                {
                    string fileName = "Project_Slide3_" + ConvertDatetime.GetCurrentUnixTimeStamp() + Path.GetExtension(model.Slide3File.FileName);
                    string path     = Path.Combine(Server.MapPath("~/Upload"), fileName);
                    model.Slide3File.SaveAs(path);
                    project.slide_3 = fileName;
                }
                if (!Equals(model.LogoFile, null))
                {
                    string fileName = "Project_Logo_" + ConvertDatetime.GetCurrentUnixTimeStamp() + Path.GetExtension(model.LogoFile.FileName);
                    string path     = Path.Combine(Server.MapPath("~/Upload"), fileName);
                    model.LogoFile.SaveAs(path);
                    project.logo = fileName;
                }
                _service.SaveProject(project);

                int idx = 0;
                foreach (var projectContent in model.ContentList)
                {
                    var content = _service.GetProjectContentById(projectContent.Id);
                    if (Equals(content, null))
                    {
                        content = new project_content()
                        {
                            project_content_id = 0,
                            project_id         = project.project_id,
                            language           = idx
                        };
                    }
                    content.name        = projectContent.Name;
                    content.description = projectContent.Description;
                    _service.SaveProjectContent(content);
                    idx++;
                }

                foreach (var overview in model.OverviewList)
                {
                    foreach (var overviewContent in overview.ContentList)
                    {
                        var content = _service.GetProjectOverviewById(overviewContent.Id);
                        if (Equals(content, null))
                        {
                            content = new project_overview()
                            {
                                project_overview_id = 0,
                                project_id          = project.project_id,
                                language            = overviewContent.Language
                            };
                        }

                        content.content = overviewContent.Content;
                        _service.SaveProjectOverview(content);
                    }
                }

                _service.DeleteAllProjectFacilities(project.project_facility.ToList());
                foreach (var item in model.FacilityList)
                {
                    if (item.Selected)
                    {
                        var fac = new project_facility()
                        {
                            project_facility_id = 0,
                            project_id          = project.project_id,
                            facility_id         = item.Id
                        };
                        _service.SaveProjectFacility(fac);
                    }
                }

                scope.Complete();
            }

            return(RedirectToAction("Project"));
        }
Beispiel #2
0
 public void SaveProjectOverview(project_overview content)
 {
     ProjectOverviewRepository.Save(content);
 }