public ActionResult EditPortfolioImage(string id)
        {
            var p = new ProjectImage();

            if (!string.IsNullOrEmpty(id))
            {
                p = (ProjectImage)_projectService.GetImageByID(Convert.ToInt16(id));

                var old = _projectService.GetImagesByProjectID(p.ProjectID);
                foreach (var img in old)
                {
                    img.IsDefault = false;
                    _projectService.SaveImage((ProjectImage)img);
                }
                p.IsDefault = true;
                _projectService.SaveImage((ProjectImage)p);
            }
            return(Json(new
            {
                Message = "Project Image Deleted!",
                Status = "success",
                ProjectID = p.ProjectID,
                ReturnUrl = "/Portfolio"
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        // PUT: api/Banner/5
        public HttpResponseMessage Put([FromBody] ProjectImage projectImage)
        {
            try
            {
                if (projectImage.Thumbnail.ToString() != "")
                {
                    if (projectImage.Thumbnail.ToString().Contains("/Content"))
                    {
                        projectImage.Thumbnail = projectImage.Thumbnail;
                    }
                    else
                    {
                        projectImage.Thumbnail = "/Content/UploadFiles/images/images/thumb_" + projectImage.Thumbnail;
                    }
                }
                else
                {
                    projectImage.Thumbnail = "/Content/images/No_image_available.png";
                }

                _projectImageService.Update(projectImage);



                var responseMessage = new { message = "Chỉnh sửa thành công!" };
                return(Request.CreateResponse(HttpStatusCode.OK, responseMessage));
            }
            catch (Exception)
            {
                var responseMessage = new { message = "Lỗi! Vui lòng thử lại sau!" };
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, responseMessage));

                throw;
            }
        }
Ejemplo n.º 3
0
        private PartialViewResult ViewEdit(ProjectImage projectImage, EditViewModel viewModel)
        {
            var projectImageTimings = ProjectImageTiming.All.ToSelectListWithEmptyFirstRow(x => x.ProjectImageTimingID.ToString(CultureInfo.InvariantCulture), x => x.ProjectImageTimingDisplayName);
            var viewData            = new EditViewData(projectImage, projectImageTimings);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
    protected void FileImageAlbum_FileUploaded(object sender, FileUploadedEventArgs e)
    {
        var FileImageAlbum = (RadAsyncUpload)sender;
        var Parent         = FileImageAlbum.NamingContainer;
        var ProjectID      = Request.QueryString["PI"];//((HiddenField)Parent.FindControl("hdnProductID")).Value;
        //var RadListView1 = (RadListView)Parent.FindControl("RadListView1");
        //var RadListView2 = (RadListView)Parent.FindControl("RadListView2");

        string targetFolder = "~/res/project/album/";
        string newName      = Guid.NewGuid().GetHashCode().ToString("X") + e.File.GetExtension();

        e.File.SaveAs(Server.MapPath(targetFolder + newName));

        ResizeCropImage.ResizeByCondition(targetFolder + newName, 800, 800);
        ResizeCropImage.CreateThumbNailByCondition("~/res/project/album/", "~/res/project/album/thumbs/", newName, 120, 120);

        //if (string.IsNullOrEmpty(ProductID))
        //{
        //    TempImage.Rows.Add(new object[] { newName });

        //    RadListView2.DataSource = TempImage;
        //    RadListView2.DataBind();
        //}
        //else
        //{
        var oProjectImage = new ProjectImage();

        oProjectImage.ProjectImageInsert(newName, "", "", "", "", "", "", "", ProjectID, "False", "True", "");
        RadListView1.Rebind();
        //}
    }
Ejemplo n.º 5
0
 private void lbxImages_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (lbxImages.SelectedIndex > -1)
     {
         ProjectImage pPIeImage = (ProjectImage)lbxImages.SelectedItem;
         picPreview.Image = cKPtProject.Images.Images[pPIeImage.ID].Image;
     }
 }
 public ReportTemplateProjectImageModel(ProjectImage projectImage)
 {
     ImageTiming  = projectImage.ProjectImageTiming.ProjectImageTimingDisplayName;
     ImageCaption = projectImage.Caption;
     ImageCredit  = projectImage.Credit;
     Image        = projectImage.FileResourceInfo.GetFullGuidBasedFilename();
     IsKeyPhoto   = projectImage.IsKeyPhoto;
 }
Ejemplo n.º 7
0
        private PartialViewResult ViewDeleteProjectImage(ProjectImage projectImage, ConfirmDialogFormViewModel viewModel)
        {
            var confirmMessage =
                $"Are you sure you want to delete this image from {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} '{projectImage.Project.GetDisplayName()}'? ({projectImage.Caption})";
            var viewData = new ConfirmDialogFormViewData(confirmMessage, true);

            return(RazorPartialView <ConfirmDialogForm, ConfirmDialogFormViewData, ConfirmDialogFormViewModel>(viewData, viewModel));
        }
Ejemplo n.º 8
0
        public ActionResult DeleteConfirmed(int id)
        {
            ProjectImage projectImage = db.ProjectImages.Find(id);

            db.ProjectImages.Remove(projectImage);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ProjectImage Delete(ProjectImage image)
 {
     using (var context = new PortfolioContext())
     {
         context.Entry(image).State = EntityState.Deleted;
         context.SaveChanges();
         return(image);
     }
 }
Ejemplo n.º 10
0
 private void tsbRemoveImage_Click(object sender, EventArgs e)
 {
     if (lbxImages.SelectedIndex > -1)
     {
         ProjectImage pPIeImage = (ProjectImage)lbxImages.SelectedItem;
         cKPtProject.Images.RemoveImage(pPIeImage.ID);
         lbxImages.Items.Remove(pPIeImage);
         picPreview.Image = null;
     }
 }
        public ActionResult SaveNewProjectImage()
        {
            var image = new ProjectImage();

            if (Request.Form.Count > 0)
            {
                if (!string.IsNullOrEmpty(Request.Form["projectID"]))
                {
                    image.ProjectID = Convert.ToInt16(Request.Form["projectID"]);
                }
                image.AltText   = Request.Form["altText"];
                image.IsDefault = Convert.ToBoolean(Request.Form["isDefault"]);
            }
            foreach (string fileName in Request.Files)
            {
                try
                {
                    var file = Request.Files[fileName];
                    //portfolio.DefaultImagePath = ConfigurationSettings.AppSettings["PortfolioImageURL"] + file.FileName;
                    file.SaveAs(ConfigurationSettings.AppSettings["PortfolioImageDir"] + file.FileName);

                    _projectService.SaveImage(
                        new ProjectImage(image.ProjectID,
                                         ConfigurationSettings.AppSettings["PortfolioImageURL"] + file.FileName,
                                         image.AltText
                                         ));
                }
                catch (Exception fileException)
                {
                    return(Json(new
                    {
                        Message = "File failed to save with following error: " + fileException.Message,
                        Status = "failed"
                    }));
                }
            }
            try
            {
            }
            catch (Exception exc)
            {
                return(Json(new
                {
                    Message = "Project Image failed to save with following error: " + exc.Message,
                    Status = "failed"
                }));
            }

            return(Json(new
            {
                Message = "Image saved!",
                Status = "success",
                ReturnUrl = "/Portfolio/Project/" + image.ProjectID.ToString()
            }));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Adds an image to a project by adding a ProjectImage join table record.
        /// </summary>
        /// <param name="projectId"> int project id</param>
        /// <param name="imageId"> int image id </param>
        public async Task AddImageToProject(int projectId, int imageId)
        {
            ProjectImage projectImage = new ProjectImage()
            {
                ProjectId = projectId,
                ImageId   = imageId
            };

            _context.Entry(projectImage).State = EntityState.Added;
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 13
0
 public ActionResult Edit([Bind(Include = "Id,IsMainImage,Description,imageStream,ProjectId")] ProjectImage projectImage)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projectImage).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     //ViewBag.ProjectId = new SelectList(db.Proj, "Id", "Title", projectImage.ProjectId);
     return(View(projectImage));
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Removes an image from a project by deleting the ProjectImage join table record.
        /// </summary>
        /// <param name="projectId"> int project id</param>
        /// <param name="imageId"> int image id </param>
        public async Task RemoveImageFromProject(int projectId, int imageId)
        {
            ProjectImage image = await _context.ProjectImages
                                 .Where(x => x.ProjectId == projectId && x.ImageId == imageId)
                                 .Select(y => new ProjectImage
            {
                ProjectId = y.ProjectId,
                ImageId   = y.ImageId
            }).FirstOrDefaultAsync();

            _context.Entry(image).State = EntityState.Deleted;
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 15
0
        public FileContentResult GetProjectImage(int ImageId)
        {
            ProjectImage image = db.ProjectImages.FirstOrDefault(i => i.Id == ImageId);

            if (image != null)
            {
                return(File(image.ImageData, image.ImageMimeType));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 16
0
        public HttpResponseMessage Put(int id, [FromBody] ProjectImage projectImageModel)
        {
            try
            {
                if (projectImageModel.ResourceUrl.ToString() != "")
                {
                    if (projectImageModel.ResourceUrl.ToString().Contains("/Content") &&
                        projectImageModel.Thumbnail.ToString().Contains("/Content"))
                    {
                        projectImageModel.ResourceUrl = projectImageModel.ResourceUrl;
                        projectImageModel.Thumbnail   = projectImageModel.Thumbnail;
                    }
                    else
                    {
                        projectImageModel.ResourceUrl = "/Content/UploadFiles/images/images/" +
                                                        projectImageModel.ResourceUrl;
                        projectImageModel.Thumbnail = "/Content/UploadFiles/images/images/thumb_" +
                                                      projectImageModel.ResourceUrl;
                    }
                }
                else
                {
                    projectImageModel.ResourceUrl = "/Content/images/No_image_available.png";
                    projectImageModel.Thumbnail   = "/Content/images/No_image_available.png";
                }


                projectImageModel.Status           = true;
                projectImageModel.ModifiedDateTime = DateTime.Now;
                projectImageModel.ModifiedById     = _userId;

                _projectImageService.Update(projectImageModel);


                foreach (var projectImageMapping in projectImageModel.ProjectImageMappings)
                {
                    _projectImageMappingService.Update(projectImageMapping);
                }

                var responseMessage = new { message = "Chỉnh sửa thành công!" };
                return(Request.CreateResponse(HttpStatusCode.OK, responseMessage));
            }
            catch (Exception)
            {
                var responseMessage = new { message = "Lỗi! Vui lòng thử lại sau!" };
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, responseMessage));

                throw;
            }
        }
Ejemplo n.º 17
0
        private ActionResult NewPostResult(ProjectPrimaryKey projectPrimaryKey, NewViewModel viewModel)
        {
            var project = projectPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNew(project, viewModel));
            }
            var projectImage = new ProjectImage(project, true);

            viewModel.UpdateModel(projectImage, CurrentPerson);
            project.ProjectImages.Add(projectImage);
            return(new ModalDialogFormJsonResult());
        }
Ejemplo n.º 18
0
        // GET: ProjectImages/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectImage projectImage = db.ProjectImages.Find(id);

            if (projectImage == null)
            {
                return(HttpNotFound());
            }
            return(View(projectImage));
        }
Ejemplo n.º 19
0
        public async Task <Response> Do(Request request)
        {
            var project = new Project
            {
                Title        = request.Title,
                Description  = request.Description,
                Tags         = request.Tags,
                PrimaryImage = request.PrimaryImage
            };

            if (await _projectManager.CreateProject(project) <= 0)
            {
                throw new System.Exception("Failed to create a project"); //TODO: custom exceptions
            }
            ;

            /* IMAGES */

            var projectImages = new List <ProjectImage>();

            foreach (var image in request.Images)
            {
                var projectImage = new ProjectImage
                {
                    Path      = image,
                    ProjectId = project.Id
                };

                projectImages.Add(projectImage);
            }
            ;

            if (await _projectManager.SaveProjectImages(projectImages) <= 0)
            {
                throw new System.Exception("Failed saving images"); //TODO: custom exceptions
            }
            ;

            /* --------------- */

            return(new Response
            {
                Id = project.Id,
                Title = project.Title,
                Description = project.Description,
                Tags = project.Tags,
                Image = project.PrimaryImage,
            });
        }
Ejemplo n.º 20
0
        // GET: ProjectImages/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectImage projectImage = db.ProjectImages.Find(id);

            if (projectImage == null)
            {
                return(HttpNotFound());
            }
            //ViewBag.ProjectId = new SelectList(db.Proj, "Id", "Title", projectImage.ProjectId);
            return(View(projectImage));
        }
Ejemplo n.º 21
0
        private ActionResult NewPostResult(ProjectPrimaryKey projectPrimaryKey, NewViewModel viewModel)
        {
            var project = projectPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNew(project, viewModel));
            }
            var projectImage = new ProjectImage(project, true);

            viewModel.UpdateModel(projectImage, CurrentFirmaSession);
            project.ProjectImages.Add(projectImage);
            SetMessageForDisplay("Photo successfully created.");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult DeletePortfolioImage(string id)
        {
            var p = new ProjectImage();

            if (!string.IsNullOrEmpty(id))
            {
                p = (ProjectImage)_projectService.GetImageByID(Convert.ToInt16(id));
                _projectService.DeleteImage((ProjectImage)p);
            }
            return(Json(new
            {
                Message = "Project Image Deleted!",
                Status = "success",
                ProjectID = p.ProjectID,
                ReturnUrl = "/Portfolio"
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 23
0
        private void tsbAddImage_Click(object sender, EventArgs e)
        {
            List <String> pLisImages = null;

            if (FileExtensionUtility.GetImageFileNameFromDialog(FileExtensionCollection.EXTENSION_COLLECTION_IMAGE_ALL,
                                                                "Browse For Image...",
                                                                out pLisImages,
                                                                true))
            {
                foreach (String curImage in pLisImages)
                {
                    Image        pImgImage = Image.FromFile(curImage);
                    String       pStrName  = Path.GetFileNameWithoutExtension(new FileInfo(curImage).Name);
                    ProjectImage pPIeImage = cKPtProject.Images.AddImage(pStrName, pImgImage);
                    lbxImages.Items.Add(pPIeImage);
                }
            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// In testing the sharpdocx image functionality at least two issues with images uploaded to ProjectFirma came up
        /// 1. Encountered an image with a corrupt color profile
        /// 2. Encountered an image with no DPI set
        ///
        /// In case #1, this caused caused the generation to crash
        /// In case #2, this caused the the image in the OpenXML for the .docx to have invalid x and y extents, corrupting the .docx file
        ///
        /// It is likely that doing this will fix other potential issues with uploaded images to ProjectFirma
        ///
        /// We can also take the opportunity here to do some scaling of the images so that they don't need to generate massive images files that have been uploaded
        /// to ProjectFirma
        ///
        /// todo: let the owner of the SharpDocx repository know about these issues to be able to set defaults there instead
        /// </summary>
        /// <param name="projectImage"></param>
        /// <param name="imagePath"></param>
        private static void CorrectImageProblemsAndSaveToDisk(ProjectImage projectImage, string imagePath)
        {
            // in order to save time on subsequent reports, we should check to see if the file already exists at the path and return early
            var fileInfo = new FileInfo(imagePath);

            if (fileInfo.Exists)
            {
                return;
            }

            using (var ms = new MemoryStream(projectImage.FileResourceInfo.FileResourceData.Data))
            {
                var bitmap = new Bitmap(ms);
                using (Bitmap newBitmap = new Bitmap(bitmap))
                {
                    newBitmap.Save(imagePath, ImageFormat.Jpeg);
                }
            }
        }
Ejemplo n.º 25
0
        public async Task <IActionResult> PostProjectFile([FromForm] ProjectImageBindingModel model)
        {
            var trustedFileNameForFileStorage = Guid.NewGuid().ToString();
            var directory = $@"{FileSavePaths.UploadPath}/{Guid.NewGuid().ToString()}";

            Directory.CreateDirectory(directory);

            var projectImageEntity = new ProjectImage
            {
                Caption   = WebUtility.HtmlEncode(model.Image.FileName),
                Path      = $@"{directory}/{trustedFileNameForFileStorage}{Path.GetExtension(model.Image.FileName)}",
                IsPrimary = model.IsPrimary
            };

            var streamedFileContent = await _formFileProcessor.ProcessFormFile <ProjectImageBindingModel>(model.Image, ModelState, PermittedFileExtensions.ImageExtensions);

            using var targetStream = System.IO.File.Create(projectImageEntity.Path);
            await targetStream.WriteAsync(streamedFileContent);

            _logger.LogInformation($"Uploaded file '{projectImageEntity.Caption}' saved to '{projectImageEntity.Path}' as {trustedFileNameForFileStorage}");

            return(Ok());
        }
Ejemplo n.º 26
0
        public async Task <IActionResult> AddPhotoProject(IFormFile image, int Id)
        {
            ProjectImage pi = new ProjectImage {
                ProjectId = Id
            };

            if (image != null)
            {
                // путь к папке Files
                string path = "/Project/" + image.FileName;
                // сохраняем файл в папку Files в каталоге wwwroot
                using (var fileStream = new FileStream(env.WebRootPath + path, FileMode.Create))
                {
                    await image.CopyToAsync(fileStream);
                }

                pi.ImageUrl = path;
                db.ProjectImages.Add(pi);
                await db.SaveChangesAsync();
            }

            return(RedirectToAction("EditProject", "Admin", new { Id }));
        }
Ejemplo n.º 27
0
        public ActionResult Create([Bind(Include = "id,project_title,project_keyName,project_main_img,project_draft_img,project_video")] Project project, HttpPostedFileBase project_main_img, HttpPostedFileBase project_draft_img, HttpPostedFileBase project_video, List <string> content, List <string> langlist, List <HttpPostedFileBase> proj_image, List <string> title)
        {
            if (ModelState.IsValid)
            {
                Random random = new Random();

                int randomNumbermain  = random.Next(0, 10000000);
                int randomNumberdraft = random.Next(0, 10000000);
                int randomvideo       = random.Next(0, 10000000);
                int randomKey         = random.Next(0, 1000000);
                var filenamemain      = Path.GetFileName(project_main_img.FileName);
                var filenamedraft     = Path.GetFileName(project_draft_img.FileName);
                var videoname         = Path.GetFileName(project_video.FileName);
                var srcmain           = Path.Combine(Server.MapPath("~/Uploads/"), randomNumbermain + filenamemain);
                var srcdraft          = Path.Combine(Server.MapPath("~/Uploads/"), randomNumberdraft + filenamedraft);
                var srcvideo          = Path.Combine(Server.MapPath("~/Uploads/"), randomvideo + videoname);
                project_main_img.SaveAs(srcmain);
                project_draft_img.SaveAs(srcdraft);
                project_video.SaveAs(srcvideo);
                project.project_main_img  = "/Uploads/" + randomNumbermain + filenamemain;
                project.project_draft_img = "/Uploads/" + randomNumberdraft + filenamedraft;
                project.project_video     = "/Uploads/" + randomvideo + videoname;
                project.project_keyName   = randomKey.ToString();

                db.Projects.Add(project);
                db.SaveChanges();
                var titleandcontent = title.Zip(content, (t, c) => new { Title = t, Content = c });
                int i = 0;
                foreach (var item in titleandcontent)
                {
                    Keystring newkey = new Keystring();
                    newkey.keyName = randomKey.ToString();
                    newkey.content = item.Content;
                    newkey.title   = item.Title;
                    int lang = Convert.ToInt32(langlist[i]);
                    newkey.language_id = lang;
                    db.Keystrings.Add(newkey);
                    db.SaveChanges();
                    i++;
                }
                foreach (var item in proj_image)
                {
                    if (item != null)
                    {
                        ProjectImage projimg = new ProjectImage();
                        var          imgname = Path.GetFileName(item.FileName);
                        var          imgsrc  = Path.Combine(Server.MapPath("~/Uploads/"), randomKey + imgname);
                        item.SaveAs(imgsrc);
                        projimg.project_img = "/Uploads/" + randomKey + imgname;
                        projimg.project_id  = project.id;
                        db.ProjectImages.Add(projimg);
                        db.SaveChanges();
                    }
                    else
                    {
                        return(Content("error"));
                    }
                }


                return(RedirectToAction("Index"));
            }
            return(View(project));
        }
Ejemplo n.º 28
0
        public HttpResponseMessage Post([FromBody] AdminProjectImageVMInput AdminProjectImageVMInput)
        {
            try
            {
                if (AdminProjectImageVMInput.ResourceUrl.ToString() != "")
                {
                    if (AdminProjectImageVMInput.ResourceUrl.ToString().Contains("/Content"))
                    {
                        AdminProjectImageVMInput.ResourceUrl = AdminProjectImageVMInput.ResourceUrl;
                        AdminProjectImageVMInput.Thumbnail   = AdminProjectImageVMInput.Thumbnail;
                    }
                    else
                    {
                        AdminProjectImageVMInput.Thumbnail   = "/Content/UploadFiles/images/images/thumb_" + AdminProjectImageVMInput.ResourceUrl;
                        AdminProjectImageVMInput.ResourceUrl = "/Content/UploadFiles/images/images/" + AdminProjectImageVMInput.ResourceUrl;
                    }
                }
                else
                {
                    AdminProjectImageVMInput.ResourceUrl = "/Content/images/No_image_available.png";
                    AdminProjectImageVMInput.Thumbnail   = "/Content/images/No_image_available.png";
                }

                var maxZOrder = _projectImageService.Entities.Where(b => b.ProjectId == AdminProjectImageVMInput.ProjectId).Max(b => b.ZOrder);

                var projectImageModel = new ProjectImage();
                projectImageModel.ProjectId        = AdminProjectImageVMInput.ProjectId;
                projectImageModel.ResourceUrl      = AdminProjectImageVMInput.ResourceUrl;
                projectImageModel.Thumbnail        = AdminProjectImageVMInput.Thumbnail;
                projectImageModel.ZOrder           = maxZOrder;
                projectImageModel.Status           = true;
                projectImageModel.CreatedById      = _userId;
                projectImageModel.CreatedDateTime  = DateTime.Now;
                projectImageModel.ModifiedDateTime = DateTime.Now;
                projectImageModel.ModifiedById     = _userId;

                _projectImageService.Add(projectImageModel);

                var justAddedProjectImageId  = _projectImageService.Entities.Max(b => b.Id);
                var projectImageMappingsList = new List <ProjectImageMapping>()
                {
                    new ProjectImageMapping()
                    {
                        ProjectImageId  = justAddedProjectImageId, LanguageId = 129, Status = true, Deleted = false,
                        Name            = AdminProjectImageVMInput.Name, Description = AdminProjectImageVMInput.Description,
                        CreatedById     = _userId, ModifiedById = _userId,
                        CreatedDateTime = DateTime.Now, ModifiedDateTime = DateTime.Now
                    },
                    new ProjectImageMapping()
                    {
                        ProjectImageId  = justAddedProjectImageId, LanguageId = 29, Status = true, Deleted = false,
                        Name            = "", Description = "",
                        CreatedById     = _userId, ModifiedById = _userId,
                        CreatedDateTime = DateTime.Now, ModifiedDateTime = DateTime.Now
                    }
                };
                foreach (var im in projectImageMappingsList)
                {
                    _projectImageMappingService.Add(im);
                }



                var responseMessage = new { message = "Chỉnh sửa thành công!" };
                return(Request.CreateResponse(HttpStatusCode.OK, responseMessage));
            }
            catch (Exception)
            {
                var responseMessage = new { message = "Lỗi! Vui lòng thử lại sau!" };
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, responseMessage));

                throw;
            }
        }
Ejemplo n.º 29
0
        // POST: api/Banner
        public HttpResponseMessage Post([FromBody] AdminProjectVMInput AdminProjectVMInput)
        {
            try
            {
                if (AdminProjectVMInput.ResourceUrl.ToString() != "")
                {
                    if (AdminProjectVMInput.ResourceUrl.ToString().Contains("/Content"))
                    {
                        AdminProjectVMInput.ResourceUrl = AdminProjectVMInput.ResourceUrl;
                        AdminProjectVMInput.Thumbnail   = AdminProjectVMInput.Thumbnail;
                    }
                    else
                    {
                        AdminProjectVMInput.Thumbnail   = "/Content/UploadFiles/images/images/thumb_" + AdminProjectVMInput.ResourceUrl;
                        AdminProjectVMInput.ResourceUrl = "/Content/UploadFiles/images/images/" + AdminProjectVMInput.ResourceUrl;
                    }
                }
                else
                {
                    AdminProjectVMInput.ResourceUrl = "/Content/images/No_image_available.png";
                    AdminProjectVMInput.Thumbnail   = "/Content/images/No_image_available.png";
                }

                var name        = AdminProjectVMInput.Name;
                var intro       = AdminProjectVMInput.Intro;
                var keyword     = AdminProjectVMInput.Keyword;
                var description = AdminProjectVMInput.Description;
                var detail      = AdminProjectVMInput.Detail;
                var metaData    = AdminProjectVMInput.MetaData;
                var thumbnail   = AdminProjectVMInput.Thumbnail;
                var resourceUrl = AdminProjectVMInput.ResourceUrl;

                var maxOrder = _projectService.Entities.Where(p => p.Type == 1 && p.Deleted == false).Max(p => p.ZOrder);

                var projectModel = new Project()
                {
                    Name        = name, Type = 1, ZOrder = maxOrder + 1, Status = true, Deleted = false,
                    CreatedById = _userId, ModifiedById = _userId
                };
                _projectService.Add(projectModel);

                var justAddedProjectId = _projectService.Entities.Max(b => b.Id);

                /*
                 * add project image
                 */

                var projectImage = new ProjectImage()
                {
                    ProjectId   = justAddedProjectId, Thumbnail = thumbnail, ResourceUrl = resourceUrl,
                    Type        = 1, ZOrder = 1, Status = true, Deleted = false,
                    CreatedById = _userId, ModifiedById = _userId
                };
                _projectImageService.Add(projectImage);

                var justAddedProjectImageId = _projectImageService.Entities.Max(b => b.Id);
                var projectImageMappingList = new List <ProjectImageMapping>()
                {
                    new ProjectImageMapping()
                    {
                        ProjectImageId = justAddedProjectImageId, LanguageId = 129, Deleted = false, Status = true,
                        Name           = name, Description = "",
                        CreatedById    = _userId, ModifiedById = _userId
                    },
                    new ProjectImageMapping()
                    {
                        ProjectImageId = justAddedProjectImageId, LanguageId = 29, Deleted = false, Status = true,
                        Name           = name + " - EN", Description = "",
                        CreatedById    = _userId, ModifiedById = _userId
                    }
                };
                foreach (var pim in projectImageMappingList)
                {
                    _projectImageMappingService.Add(pim);
                }



                /*
                 * Add News
                 */

                var news = new News();
                news.ProjectId    = justAddedProjectId;
                news.Name         = AdminProjectVMInput.Name;
                news.CreatedById  = _userId;
                news.ModifiedById = _userId;
                news.Deleted      = false;
                news.Status       = true;
                news.ZOrder       = 1;
                _newsService.Add(news);

                var justAddedNewsId    = _newsService.Entities.Max(b => b.Id);
                var newsMappingsModels = new List <NewsMapping>()
                {
                    new NewsMapping()
                    {
                        NewsId      = justAddedNewsId, LanguageId = 129, Status = true, Deleted = false,
                        Title       = news.Name, Intro = intro, Keyword = keyword, Description = description, MetaData = metaData, Detail = detail,
                        CreatedById = _userId, ModifiedById = _userId,
                    },
                    new NewsMapping()
                    {
                        NewsId      = justAddedNewsId, LanguageId = 29, Status = true,
                        Title       = "", Intro = "", Keyword = "", Description = "", Deleted = false, Detail = "", MetaData = "",
                        CreatedById = _userId, ModifiedById = _userId
                    }
                };
                foreach (var nm in newsMappingsModels)
                {
                    _newsMappingService.Add(nm);
                }

                var responseMessage = new { message = "Thêm thành công!" };
                return(Request.CreateResponse(HttpStatusCode.OK, responseMessage));
            }
            catch (Exception)
            {
                var responseMessage = new { message = "Lỗi! Vui lòng thử lại sau!" };
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, responseMessage));

                throw;
            }
        }
Ejemplo n.º 30
0
        /// <summary>
        /// Updates this instance.
        /// </summary>
        /// <returns></returns>
        public bool Update()
        {
            if (Page.IsValid)
            {
                var at = (rblAccessType.SelectedValue == "Public") ? ProjectAccessType.Public : ProjectAccessType.Private;

                ProjectImage projectImage = null;

                // get the current file
                var uploadFile = ProjectImageUploadFile.PostedFile;

                // if there was a file uploaded
                if (uploadFile.ContentLength > 0)
                {
                    var isFileOk         = false;
                    var allowedFileTypes = new string[3] {
                        ".gif", ".png", ".jpg"
                    };
                    var fileExt          = Path.GetExtension(uploadFile.FileName).ToLower();
                    var uploadedFileName = Path.GetFileName(uploadFile.FileName);

                    foreach (var newfileType in allowedFileTypes.Select(fileType => fileType.Substring(fileType.LastIndexOf("."))).Where(newfileType => newfileType.CompareTo(fileExt) == 0))
                    {
                        isFileOk = true;
                    }

                    //file type is not valid
                    if (!isFileOk)
                    {
                        if (Log.IsErrorEnabled)
                        {
                            Log.Error(string.Format(LoggingManager.GetErrorMessageResource("InvalidFileType"), uploadedFileName));
                        }
                        return(false);
                    }

                    //check for illegal filename characters
                    if (uploadedFileName.IndexOfAny(Path.GetInvalidFileNameChars()) != -1)
                    {
                        if (Log.IsErrorEnabled)
                        {
                            Log.Error(string.Format(LoggingManager.GetErrorMessageResource("InvalidFileName"), uploadedFileName));
                        }
                        return(false);
                    }

                    var fileSize  = uploadFile.ContentLength;
                    var fileBytes = new byte[fileSize];
                    var myStream  = uploadFile.InputStream;
                    myStream.Read(fileBytes, 0, fileSize);

                    projectImage = new ProjectImage(ProjectId, fileBytes, uploadedFileName, fileSize, uploadFile.ContentType);
                }

                var attachmentStorageType = (IssueAttachmentStorageTypes)Enum.Parse(typeof(IssueAttachmentStorageTypes), AttachmentStorageType.SelectedItem.Value);
                var project = new Project
                {
                    AccessType            = at,
                    Name                  = txtName.Text.Trim(),
                    Id                    = ProjectId,
                    CreatorUserName       = Page.User.Identity.Name,
                    CreatorDisplayName    = string.Empty,
                    Description           = ProjectDescriptionHtmlEditor.Text.Trim(),
                    AllowAttachments      = AllowAttachments.Checked,
                    AllowIssueVoting      = chkAllowIssueVoting.Checked,
                    Code                  = ProjectCode.Text.Trim(),
                    Disabled              = false,
                    Image                 = projectImage,
                    ManagerDisplayName    = string.Empty,
                    ManagerUserName       = ProjectManager.SelectedValue,
                    SvnRepositoryUrl      = string.Empty,
                    AttachmentStorageType = attachmentStorageType
                };

                if (BLL.ProjectManager.SaveOrUpdate(project))
                {
                    ProjectId = project.Id;
                    return(true);
                }

                lblError.Text = LoggingManager.GetErrorMessageResource("SaveProjectError");
            }

            return(false);
        }