public void AddReviewDocument(ReviewDocument document) { if (addReviewDocument && pipeline.GetPipeLineType() == Pipeline.PipeLineType.DEVELOPMENT) { this.document = document; } }
public ActionResult Edit([Bind(Prefix = "ReviewDocument")] ReviewDocument model) { ReviewDocument dbReviewDocument = UOW.ReviewDocuments.GetById(model.Id); if (dbReviewDocument != null) { dbReviewDocument.Title = model.Title; dbReviewDocument.Order = model.Order; dbReviewDocument.Description = model.Description; dbReviewDocument.Version = model.Version; dbReviewDocument.DocType = model.DocType; dbReviewDocument.IsActive = model.IsActive; UOW.Commit(); model = dbReviewDocument; } ReviewDocumentVM vm = new ReviewDocumentVM { ReviewDocument = model, DesignReviews = UOW.DesignReviews.GetAll() }; return(View(vm)); }
public async Task CheckNoDuplicateReviewIsAllowed() { _output.WriteLine($"EndPointUrl: {_cosmosDBFixture.CosmosDbConfig.EndPointUrl}"); _output.WriteLine($"CollectionName: {_cosmosDBFixture.CosmosDbConfig.CollectionName}"); _output.WriteLine($"DatabaseName: {_cosmosDBFixture.CosmosDbConfig.DatabaseName}"); _output.WriteLine($"AuthorizationKey: {_cosmosDBFixture.CosmosDbConfig.AuthorizationKey}"); var repository = new ReviewRepository(_cosmosDBFixture.CosmosDbConfig); var controller = new ReviewsController(repository); var newReview1 = new ReviewDocument { Id = "review2", Content = "Another review with existing Id" }; var newReview2 = new ReviewDocument { Id = "review3", Content = "This is boring" }; await controller.PostAsync(newReview1); await controller.PostAsync(newReview2); var reviews = await controller.Get(); // We rely on the fact that we already had review2 // and another review in our test data Assert.Equal(3, reviews.Count); }
public void TestAddReviewDocumentWhenSprintIsActive() { Sprint sprint = new Sprint(DateTime.Today, DateTime.Today.AddDays(10)); ReviewDocument document = new ReviewDocument(); sprint.Start(); sprint.AddReviewDocument(document); Assert.IsTrue(sprint.GetDocument() == null); }
public ActionResult DeleteConfirmed(Guid id) { ReviewDocument contractDocument = UOW.ReviewDocuments.GetById(id); if (contractDocument == null) { return(HttpNotFound()); } UOW.ReviewDocuments.Delete(contractDocument); UOW.Commit(); return(RedirectToAction("Index")); }
public void TestAddReviewDocument() { Sprint sprint = new Sprint(DateTime.Today, DateTime.Today); ReviewDocument document = new ReviewDocument(); sprint.Start(); sprint.CheckTime(); sprint.AddReviewDocument(document); Assert.IsTrue(sprint.GetDocument() != null); }
public async Task <IActionResult> PostAsync([FromBody] ReviewDocument value) { try { var result = await _reviewRepository.AddAsync(value); return(Ok(result)); } catch (Exception e) { return(StatusCode(500, $"Failed to add document {value.Id} - {e.Message}")); } }
public ActionResult Create([Bind(Prefix = "ReviewDocument")] ReviewDocument model) { if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0) { HttpPostedFileBase file = Request.Files[0]; Guid docId = Guid.NewGuid(); string originalFilename = file.FileName; string fileExt = Path.GetExtension(file.FileName); string filename = docId.ToString() + fileExt; string fullPath = StorageRoot + "\\" + filename; file.SaveAs(fullPath); ReviewDocument newDoc = new ReviewDocument(); newDoc.Id = docId; newDoc.Filename = filename; newDoc.FilenameOriginal = originalFilename; newDoc.FileExt = fileExt; newDoc.FileMimeType = GetMimeType(fullPath); newDoc.FileSize = file.ContentLength; newDoc.Title = model.Title; newDoc.Order = model.Order; newDoc.Description = model.Description; newDoc.Version = model.Version; newDoc.DocType = model.DocType; newDoc.CreatedDate = DateTime.Now; newDoc.FilePath = "/files"; newDoc.IsActive = true; newDoc.DesignReviewId = model.DesignReviewId; UOW.ReviewDocuments.Add(newDoc); UOW.Commit(); model = newDoc; } else { ModelState.AddModelError(string.Empty, "You must supply a valid file."); } ReviewDocumentVM vm = new ReviewDocumentVM { ReviewDocument = model, DesignReviews = UOW.DesignReviews.GetAll() }; return(View("Edit", vm)); }
public async Task <IActionResult> OnPostAddAsync() { if (!ModelState.IsValid) { return(await OnGetAsync()); } var entity = new ReviewDocument() { Content = ReviewToAdd.Content }; await _reviewRepository.AddAsync(entity); return(RedirectToPage()); }
public IHttpActionResult AddComment(Guid rid, [FromBody] ReviewCommentBM model) { DesignReview dbReview = UOW.DesignReviews.GetOwnById(rid, UserRecord.Id); if (dbReview == null) { return(new SkyApiNotFound(Request)); } ReviewDocument dbOption = UOW.ReviewDocuments.GetById(model.oid); if (dbOption == null) { return(new SkyApiNotFound(Request)); } if (dbReview.AcceptedDate != null) { ModelState.AddModelError("", "Review has been accepted and further changes are not allowed."); return(new SkyApiBadRequest(Request, new SkyModelStateError(ModelState))); } ReviewComment reviewComment = new ReviewComment { Comment = model.comment, // TODO: looks like a typo (OrderId should be OptionId) OrderId = dbOption.Id, DesignReviewId = rid, UserId = new Guid(UserRecord.Id), Username = UserRecord.UserName }; dbReview.ReviewComments.Add(reviewComment); UOW.Commit(); IDictionary <string, string> formData = new Dictionary <string, string>(); formData.Add("User", UserRecord.FullName); formData.Add("Project", dbReview.Project.Name); formData.Add("Review", dbReview.Title); formData.Add("Option", dbOption.Title); formData.Add("Commment", model.comment); MailService.SendNotification(formData, "Skyberry Notification: New Comment"); return(new SkyApiPayload <ReviewCommentVM>(Request, ModelFactory.CreateReviewCommentVM(reviewComment))); }
public ReviewDocumentVM CreateReviewDocumentVM(ReviewDocument item) { return(new ReviewDocumentVM { Id = item.Id, Title = item.Title, Description = item.Description, Version = item.Version, CreatedDate = item.CreatedDate, Filename = item.Filename, FilenameOriginal = item.FilenameOriginal, FileExt = item.FileExt, FilePath = item.FilePath, DocType = item.DocType, Order = item.Order, }); }
public ActionResult Delete(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReviewDocument contractDocument = UOW.ReviewDocuments.GetById(id); if (contractDocument == null) { return(HttpNotFound()); } ReviewDocumentVM vm = new ReviewDocumentVM { ReviewDocument = contractDocument, DesignReviews = UOW.DesignReviews.GetAll() }; return(View(vm)); }
public ActionResult Details(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReviewDocument dbDoc = UOW.ReviewDocuments.GetById(id); if (dbDoc == null) { return(HttpNotFound()); } ReviewDocumentVM vm = new ReviewDocumentVM { ReviewDocument = dbDoc, DesignReviews = UOW.DesignReviews.GetAll() }; return(View(vm)); }
public ReviewDocumentVM() { ReviewDocument = new ReviewDocument(); ReviewDocumentTypeOpts = ListOpts.ReviewDocumentTypeOpts; }
public ReviewDocumentVM CreateReviewDocumentVM(ReviewDocument item) { return new ReviewDocumentVM { Id = item.Id, Title = item.Title, Description = item.Description, Version = item.Version, CreatedDate = item.CreatedDate, Filename = item.Filename, FilenameOriginal = item.FilenameOriginal, FileExt = item.FileExt, FilePath = item.FilePath, DocType = item.DocType, Order = item.Order, }; }
public Task <ReviewDocument> PutAsync(int id, [FromBody] ReviewDocument value) { return(_reviewRepository.UpdateAsync(value)); }
public ActionResult MyAccountDesignReview_Post([Bind(Prefix = "DesignReview")] DesignReview designReview) { bool received = false; SkyberryUser user = UOW.SkyberryUsers.GetById(User.Identity.GetUserId()); string from = "*****@*****.**"; if (user.Contacts != null && user.Contacts.Count > 0) { foreach (var item in user.Contacts) { if (item.ContactType == "Email") { from = item.ContactData; } } } DesignReview dbDesignReview = UOW.DesignReviews.GetById(designReview.Id); ReviewDocument dbReviewDocument = UOW.ReviewDocuments.GetById(designReview.SelectedReviewDocumentId); if (dbDesignReview != null && !dbDesignReview.AcceptedDate.HasValue && dbReviewDocument != null) { dbDesignReview.SelectedComment = designReview.SelectedComment; dbDesignReview.AdditionalComment = designReview.AdditionalComment; dbDesignReview.SelectedReviewDocumentId = designReview.SelectedReviewDocumentId; UOW.Commit(); designReview = dbDesignReview; string description = "Skyberry Design Review Submission"; StringBuilder body = new StringBuilder(); body.Append("<table cellpadding='3' border='0'>"); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1} {2} ({3})</td></tr>", "User", user.FirstName, user.LastName, user.UserName); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1} | {2} | {3}</td></tr>", "Design Review", dbDesignReview.Project.Account.Name, dbDesignReview.Project.Name, dbDesignReview.Title); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1}</td></tr>", "Selected Option", dbReviewDocument.Title); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1}</td></tr>", "Selected Comment", dbDesignReview.SelectedComment); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1}</td></tr>", "Additional Comment", dbDesignReview.AdditionalComment); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1}{2}</td></tr>", "Shortcut", HtmlUtil.GetDomain(Request.Url), @Url.Action("MyAccountDesignReview", "MyAccount", new { id = dbReviewDocument.DesignReviewId })); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1}</td></tr>", "Timestamp", DateTime.UtcNow.AddHours(-8).ToString("MM/dd/yyyy @ h:mm tt")); body.AppendFormat("<tr><td style='background-color:#d7d7d7;white-space:nowrap;text-align:right;vertical-align:top;'><strong>{0}</strong></td><td style='background-color:#e6e6e5;text-align:left;vertical-align:top;'>{1}</td></tr>", "Users IP", HtmlUtil.GetUserIP()); body.Append("</table>"); MailMessage message = new MailMessage(); message.From = new MailAddress(from); message.To.Add(new MailAddress("*****@*****.**")); message.Subject = description; message.IsBodyHtml = true; message.Body = body.ToString(); message.BodyEncoding = System.Text.Encoding.UTF8; message.SubjectEncoding = System.Text.Encoding.UTF8; SmtpClient SMTPServer = new SmtpClient(WebConfigurationManager.AppSettings["SMTP_HOST"]); SMTPServer.Port = Int16.Parse(WebConfigurationManager.AppSettings["SMTP_PORT"]); //SMTPServer.Credentials = new System.Net.NetworkCredential(WebConfigurationManager.AppSettings["SMTP_USERNAME"], WebConfigurationManager.AppSettings["SMTP_PASSWORD"]); try { #if DEBUG string debugAddress = WebConfigurationManager.AppSettings["DEBUG_EMAIL"]; if (!string.IsNullOrEmpty(debugAddress)) { message.To.Clear(); message.CC.Clear(); message.Bcc.Clear(); message.To.Add(debugAddress); } #endif SMTPServer.Send(message); received = true; } catch (Exception ex) { #if DEBUG ModelState.AddModelError(string.Empty, "Exception: " + ex.Message); #endif } message.Dispose(); } Account account = null; HttpCookie cookie = Request.Cookies.Get("accountId"); if (cookie != null) { try { account = UOW.Accounts.GetById(Guid.Parse(cookie.Value)); } catch { } } if (account == null && user.Accounts != null && user.Accounts.Count > 0) { foreach (var item in user.Accounts) { account = UOW.Accounts.GetById(item.Id); break; } } MyAccountDesignReviewVM vm = new MyAccountDesignReviewVM { User = user, Account = account, DesignReview = designReview, Received = received }; return(View(vm)); }