Beispiel #1
0
        public bool EmployeeProPicUpload(EmpProPicUploadInputDTO empData)
        {
            var result      = false;
            var empToUpdate = _unitOfWork.EmployeeRepository.GetByID(empData.EmployeeId);

            empToUpdate.ProfilePhoto = empData.ProfilePhoto;
            using (var scope = new TransactionScope())
            {
                _unitOfWork.EmployeeRepository.Update(empToUpdate);
                _unitOfWork.Save();
                result = true;
                scope.Complete();
            }
            return(result);
        }
Beispiel #2
0
        public HttpResponseMessage UploadProfilePicture()
        {
            try
            {
                if (!Request.Content.IsMimeMultipartContent())
                {
                    throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
                }
                var    profilePic   = HttpContext.Current.Request.Files["profilePic"];
                var    employeeId   = Convert.ToInt32(HttpContext.Current.Request.Form["employeeId"]);
                string path         = HttpContext.Current.Server.MapPath("~/EmployeeProfilePictures");
                bool   folderExists = Directory.Exists(path);

                if (!folderExists)
                {
                    Directory.CreateDirectory(path);
                }

                var fileName     = DateTime.Now.Ticks + Path.GetExtension(profilePic.FileName);
                var fileSavePath = Path.Combine(path, fileName);
                profilePic.SaveAs(fileSavePath);
                var empData = new EmpProPicUploadInputDTO();

                if (File.Exists(fileSavePath))
                {
                    var emp          = _employeeServices.GetEmployeeById(employeeId);
                    var fileToDelete = Path.Combine(path, emp.ProfilePhoto);
                    File.Delete(fileToDelete);
                    empData.EmployeeId   = employeeId;
                    empData.ProfilePhoto = fileName;
                }
                var result = _employeeServices.EmployeeProPicUpload(empData);
                return(Request.CreateResponse(HttpStatusCode.OK, "success!"));
            }
            catch (Exception ex)
            {
                throw new ApiDataException(1000, "Employee Not Found", HttpStatusCode.NotFound);
            }
        }