Esempio n. 1
0
        public ProfileImageViewModel GetById(int id)
        {
            ProfileImageViewModel model = null;

            this.DataProvider.ExecuteCmd(
                "PersonImage_SelectById",
                inputParamMapper : delegate(SqlParameterCollection paramCol)
            {
                paramCol.AddWithValue("@Id", id);
            },
                singleRecordMapper : delegate(IDataReader reader, short set)
            {
                int index           = 0;
                model               = new ProfileImageViewModel();
                model.PersonId      = reader.GetSafeInt32(index++);
                model.Title         = reader.GetSafeString(index++);
                model.FirstName     = reader.GetSafeString(index++);
                model.MiddleInitial = reader.GetSafeString(index++);
                model.LastName      = reader.GetSafeString(index++);
                model.Bio           = reader.GetSafeString(index++);
                model.ModifiedBy    = reader.GetSafeString(index++);
                model.UserId        = reader.GetSafeInt32(index++);
                model.FileStorageId = reader.GetSafeInt32(index++);
                model.Location      = reader.GetSafeString(index++);
            }
                );
            return(model);
        }
Esempio n. 2
0
        public async Task <IActionResult> UpdateProfileImage(ProfileImageViewModel model)
        {
            var fileSize = model.Image.Length;

            if ((fileSize / 1048576.0) > 2)
            {
                ModelState.AddModelError("", "The file you uploaded is too large. Filesize limit is 2mb.");
                return(View(model));
            }
            if (model.Image.ContentType != "image/jpeg" && model.Image.ContentType != "image/png")
            {
                ModelState.AddModelError("", "Please upload a jpeg or png file for the thumbnail.");
                return(View(model));
            }
            var dirPath = _env.WebRootPath + "/users/";

            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath);
            }
            var filePath = dirPath + WebUser.UserId.ToString() + ".png";

            if (model.Image.Length > 0)
            {
                byte[] bytes = await FileBytes(model.Image.OpenReadStream());

                using (Image <Rgba32> image = Image.Load(bytes))
                {
                    image.Mutate(x => x.Resize(150, 150));
                    image.Save(filePath);
                }
            }
            return(RedirectToAction("UpdateProfileImage"));
        }
Esempio n. 3
0
        public ActionResult SaveProfileImage(ProfileImageViewModel viewModel)
        {
            string randomFileName = null;
            bool   _success       = false;

            if (viewModel != null)
            {
                var    t     = viewModel.base64Image.Substring(23);
                byte[] bytes = Convert.FromBase64String(t);

                using (MemoryStream ms = new MemoryStream(bytes))
                {
                    var image = Image.FromStream(ms);

                    randomFileName = Guid.NewGuid().ToString().Substring(0, 7) + ".jpg";
                    var fullPath = Path.Combine(Server.MapPath("~/Content/Images/"), randomFileName);
                    image.Save(fullPath, System.Drawing.Imaging.ImageFormat.Jpeg);
                }

                //save image filename to database

                var patientinfo = _patientServices.GetPatientById(viewModel.patId);

                patientinfo.Image = randomFileName;

                _patientServices.UpdatePatient(patientinfo);
                _unitofwork.Commit();


                _success = true;
            }

            // System.IO.File.WriteAllText(Server.MapPath("~/Content/Images/" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + ".txt"), base64Image);

            return(Json(new { success = _success, randomFileName }, JsonRequestBehavior.AllowGet));
        }