public ActionResult DeleteConfirmed(int id)
        {
            ResumeContent resumeContent = db.ResumeContents.Find(id);

            db.ResumeContents.Remove(resumeContent);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "ID,Content")] ResumeContent resumeContent)
 {
     if (ModelState.IsValid)
     {
         db.Entry(resumeContent).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(resumeContent));
 }
        public ActionResult Create([Bind(Include = "ID,Content")] ResumeContent resumeContent)
        {
            if (ModelState.IsValid)
            {
                db.ResumeContents.Add(resumeContent);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(resumeContent));
        }
        // GET: ResumeContents/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ResumeContent resumeContent = db.ResumeContents.Find(id);

            if (resumeContent == null)
            {
                return(HttpNotFound());
            }
            return(View(resumeContent));
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="candidate"></param>
        public Task <HttpResponseMessage> Post()
        {
            // Check if the request contains multipart/form-data.
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            var    streamProvider = new MultipartMemoryStreamProvider();
            var    query          = Request.GetQueryNameValuePairs();
            string candidateId    = string.Empty;

            if (query != null)
            {
                var matches = query.Where(kv => kv.Key.ToLower() == "candidateid");
                if (matches.Count() > 0)
                {
                    candidateId = matches.First().Value;
                }
            }

            //Ensure.Argument.NotNull(commands, "commands");

            // Read the form data and return an async task.
            var task = Request.Content.ReadAsMultipartAsync(streamProvider).
                       ContinueWith <HttpResponseMessage>(t =>
            {
                if (t.IsFaulted || t.IsCanceled)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception));
                }

                if (string.IsNullOrEmpty(candidateId))
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Missing CandidateId parameter"));
                }

                //Select the appropriate content item this assumes only 1 part
                var fileContent = streamProvider.Contents.First();

                string fileName   = fileContent.Headers.ContentDisposition.FileName.Replace("\"", string.Empty);
                Stream fileStream = fileContent.ReadAsStreamAsync().Result;

                var description = streamProvider.Contents.Last().ReadAsStringAsync().Result;

                using (hunterCVEntities context = new hunterCVEntities())
                {
                    Resume resume      = new Resume();
                    resume.FileName    = fileName;
                    resume.Description = description;
                    resume.CandidateID = new Guid(candidateId);
                    context.AddToResumes(resume);
                    context.SaveChanges();

                    ResumeContent content = new ResumeContent();
                    content.ResumeID      = resume.ResumeID;
                    content.FileContent   = ReadAllBytes(fileStream);
                    context.AddToResumeContents(content);
                    context.SaveChanges();
                }

                return(Request.CreateResponse(HttpStatusCode.OK));
            });

            return(task);
        }