private bool SomeSignerSign(ApplyDocument applyDocument) { if (applyDocument.Sign1 == null && applyDocument.Sign2 == null && applyDocument.Sign3 == null && applyDocument.Sign4 == null && applyDocument.Sign5 == null) { return(false); } return(true); }
public IHttpActionResult GetApplyDocument(int id) { ApplyDocument applyDocument = db.ApplyDocuments.Find(id); if (applyDocument == null) { return(NotFound()); } return(Ok(applyDocument)); }
public IHttpActionResult Get(int docId, string userId) { ApplyDocument applyDocument = db.ApplyDocuments.Where(db => db.DocId == docId && db.UserId == userId).FirstOrDefault(); if (applyDocument == null) { return(NotFound()); } return(Ok(applyDocument)); }
public IHttpActionResult DeleteApplyDocument(int id) { ApplyDocument applyDocument = db.ApplyDocuments.Find(id); if (applyDocument == null) { return(NotFound()); } db.ApplyDocuments.Remove(applyDocument); db.SaveChanges(); //need to delete ReckoningDocuments with same docId as well return(Ok(applyDocument)); }
public IHttpActionResult PutApplyDocument(int id, ApplyDocument applyDocument) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != applyDocument.DocId) { return(BadRequest()); } db.Entry(applyDocument).State = EntityState.Modified; try { db.SaveChanges(); //if headofdepartemt sign the document and approve the trip send mail to all signers. if (applyDocument.DepartmentHeadSign != null && !SomeSignerSign(applyDocument)) //need to add check if no one of the signer has any data so its first time) { var ApproveUsers = db.Users.Where(b => b.ApplicationRoleId == (int)ApplicationRoles.Signer); List <string> approveUsers = new List <string>(); foreach (User user in ApproveUsers) { approveUsers.Add(user.EmailAddress); } SendMail(approveUsers, Utilities.signersMail); } } catch (DbUpdateConcurrencyException) { if (!ApplyDocumentExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostApplyDocument(ApplyDocument applyDocument) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ApplyDocuments.Add(applyDocument); db.SaveChanges(); //creating empty ReckoningDocuments with same doc_id and userId ReckoningDocument reckoningDocument = new ReckoningDocument() { DocId = applyDocument.DocId, UserId = applyDocument.UserId }; var result = new ReckoningDocumentsController().PostReckoningDocument(reckoningDocument); sendMailToHeadOfDepartment(applyDocument); return(CreatedAtRoute("DefaultApi", new { id = applyDocument.DocId }, applyDocument)); }
private void sendMailToHeadOfDepartment(ApplyDocument applyDocument) { //send auto mail to head of department of the user who sent the doc var applyUser = db.Users .Where(b => b.Id == applyDocument.UserId) .FirstOrDefault(); var headOfDepUser = db.Users .Where(b => b.ApplicationRoleId == (int)ApplicationRoles.HeadOfDepartment && b.DepartmentId == applyUser.DepartmentId) .FirstOrDefault(); if (headOfDepUser != null) { List <string> emailAddress = new List <string>(); emailAddress.Add(headOfDepUser.EmailAddress); bool messageSucced = SendMail(emailAddress, Utilities.HeadOfDepartmentMail); return; } else { return; } }