コード例 #1
0
        public ActionResult Edit([Bind(Include = "ConsultingDraftAgreementID,NoRequest,NoSurat,RequesterID,Date_Start,ActivityStr,Tujuan,RuangLingkup,Peran,Status")] ConsultingDraftAgreement consultingDraftAgreement, string submit)
        {
            if (ModelState.IsValid)
            {
                string username = User.Identity.Name;
                db.Configuration.ProxyCreationEnabled = false;
                string user = submit.Contains("By") ? submit.Split('y')[1] : String.Empty;
                if (submit == "Save")
                {
                    consultingDraftAgreement.Status = "Draft";
                }
                else if (submit == "Send Back")
                {
                    consultingDraftAgreement.Status = HelperController.GetStatusSendback(db, "Consulting Draft Agreement", consultingDraftAgreement.Status);
                }
                else if (submit == "Approve")
                {
                    consultingDraftAgreement.Status = "Approve";
                }
                else if (submit == "Submit For Review By" + user)
                {
                    consultingDraftAgreement.Status = "Pending for Review by" + user;
                }
                else if (submit == "Submit For Approve By" + user)
                {
                    consultingDraftAgreement.Status = "Pending for Approve by" + user;
                    string          baseUrl    = Request.Url.GetLeftPart(UriPartial.Authority);
                    List <string>   CIAUserIds = Request.GetOwinContext().GetUserManager <ApplicationRoleManager>().Roles.Where(p => p.Name.Equals(user.Trim())).FirstOrDefault().Users.Select(p => p.UserId).ToList();
                    List <Employee> CIAEmpList = new List <Employee>();
                    if (CIAUserIds.Count() > 0)
                    {
                        var CIAUsers = Request.GetOwinContext().GetUserManager <ApplicationUserManager>().Users.Where(p => (CIAUserIds.Contains(p.Id))).ToList();
                        foreach (var CIAUser in CIAUsers)
                        {
                            Employee empl = db.Employees.Where(p => p.Email.Equals(CIAUser.Email)).FirstOrDefault();

                            string emailContent = "Dear {0}, <BR/><BR/>Consulting Draft Agreement : {1} need your approval. Please click on this <a href=\"{2}\" title=\"CDA\">link</a> to show the Consulting Draft Agreement.<BR/><BR/><BR/> Regards,<BR/><BR/> ePatria Team";
                            string urlRequest   = baseUrl + "/ConsultingDraftAgreements/Details/" + consultingDraftAgreement.ConsultingDraftAgreementID;
                            emailTransact.SentEmailApproval(empl.Email, empl.Name, consultingDraftAgreement.NoSurat, emailContent, urlRequest);
                        }
                    }
                }
                ConsultingDraftAgreement oldData = db.ConsultingDraftAgreements.AsNoTracking().Where(p => p.ConsultingDraftAgreementID.Equals(consultingDraftAgreement.ConsultingDraftAgreementID)).FirstOrDefault();
                auditTransact.CreateAuditTrail("Update", consultingDraftAgreement.ConsultingDraftAgreementID, "Consulting Draft Agreement", oldData, consultingDraftAgreement, username);
                db.Entry(consultingDraftAgreement).State = EntityState.Modified;
                db.SaveChanges();
                TempData["message"] = "Draft Agreement successfully updated!";
                return(RedirectToAction("Index"));
            }
            //ViewBag.ActivityID = new SelectList(db.Activities, "ActivityID", "Name", consultingDraftAgreement.ActivityID);
            return(View(consultingDraftAgreement));
        }
コード例 #2
0
        public ActionResult Create([Bind(Include = "ConsultingDraftAgreementID,NoRequest,NoSurat,RequesterID,Date_Start,ActivityStr,Tujuan,RuangLingkup,Peran,Status")] ConsultingDraftAgreement consultingDraftAgreement)
        {
            if (ModelState.IsValid)
            {
                db.ConsultingDraftAgreements.Add(consultingDraftAgreement);
                db.SaveChanges();
                TempData["message"] = "Draft Agreement successfully created!";
                return(RedirectToAction("Index"));
            }

            //ViewBag.ActivityID = new SelectList(db.Activities, "ActivityID", "Name", consultingDraftAgreement.ActivityID);
            return(View(consultingDraftAgreement));
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            db.Configuration.ProxyCreationEnabled = false;
            string username = User.Identity.Name;
            ConsultingDraftAgreement consultingDraftAgreement = db.ConsultingDraftAgreements.Find(id);
            ConsultingDraftAgreement condrag = new ConsultingDraftAgreement();

            db.ConsultingDraftAgreements.Remove(consultingDraftAgreement);
            db.SaveChanges();
            auditTransact.CreateAuditTrail("Delete", id, "Consulting Draft Agreement", consultingDraftAgreement, condrag, username);
            TempData["message"] = "Draft Agreement successfully deleted!";
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        // GET: ConsultingDraftAgreements/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ConsultingDraftAgreement consultingDraftAgreement = db.ConsultingDraftAgreements.Find(id);

            ViewBag.requester = db.Employees.Where(p => p.EmployeeID.Equals(consultingDraftAgreement.RequesterID)).Select(p => p.Name).FirstOrDefault();
            if (consultingDraftAgreement == null)
            {
                return(HttpNotFound());
            }
            return(View(consultingDraftAgreement));
        }
コード例 #5
0
        public ActionResult Preview(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ConsultingDraftAgreement consultingDraftAgreement = db.ConsultingDraftAgreements.Find(id);

            ViewBag.requester = db.Employees.Where(p => p.EmployeeID.Equals(consultingDraftAgreement.RequesterID)).Select(p => p.Name).FirstOrDefault();
            if (consultingDraftAgreement == null)
            {
                return(HttpNotFound());
            }
            ViewBag.WordDocumentFilename = "KesepakatanBaru";
            return(View(consultingDraftAgreement));
        }
コード例 #6
0
        // GET: ConsultingDraftAgreements/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ConsultingDraftAgreement consultingDraftAgreement = db.ConsultingDraftAgreements.Find(id);

            if (consultingDraftAgreement == null)
            {
                return(HttpNotFound());
            }
            ViewBag.requester = db.Employees.Where(p => p.EmployeeID.Equals(consultingDraftAgreement.RequesterID)).Select(p => p.Name).FirstOrDefault();
            ViewBag.datestart = consultingDraftAgreement.Date_Start.ToString("dd/MM/yyyy HH:mm");
            //ViewBag.dateend = consultingDraftAgreement.Date_End.ToString("dd/MM/yyyy HH:mm");
            return(View(consultingDraftAgreement));
        }
コード例 #7
0
        public ActionResult Edit(string submit, string requester, [Bind(Include = "ConsultingRequestID,NoRequest,NoSurat,RequesterID,Date_Start,EvaluationResult,Status,ActivityStr")] ConsultingRequest consultingRequest, IEnumerable <HttpPostedFileBase> files)
        {
            if (ModelState.IsValid)
            {
                string username = User.Identity.Name;
                db.Configuration.ProxyCreationEnabled = false;
                int i = 0;
                HttpServerUtilityBase server       = Server;
                List <string>         newFilesName = new List <string>();
                List <string>         paths        = new List <string>();
                UrlHelper             url          = Url;
                List <string>         keepImages   = new List <string>();
                //object imagesTemp = Session["Images"];
                var sessionImages = Session["Images"];
                if (sessionImages != null)
                {
                    Array arrKeepImages = (Array)sessionImages;
                    foreach (var arrKeepImage in arrKeepImages)
                    {
                        keepImages.Add(arrKeepImage.ToString());
                    }
                    bool          getFiles     = filesTransact.getFiles(consultingRequest.NoRequest.Replace("/", ""), out newFilesName, out paths, url, server);
                    List <string> deletedFiles = paths.Except(keepImages).ToList();
                    bool          deleteFiles  = filesTransact.deleteFiles(deletedFiles, server);

                    i = filesTransact.getLastNumberOfFiles(consultingRequest.NoRequest.Replace("/", ""), server);
                }
                foreach (var file in files)
                {
                    if (file != null)
                    {
                        i = i + 1;
                        bool addFile = filesTransact.addFile(consultingRequest.NoRequest.Replace("/", ""), i, file, server);
                    }
                }
                Session.Remove("Images");



                IQueryable <Employee> emp = db.Employees.Where(p => p.Name.Equals(requester));
                int empId = 0;
                if (emp.Count() > 0 || emp != null)
                {
                    empId = emp.Select(p => p.EmployeeID).FirstOrDefault();
                }
                consultingRequest.RequesterID = empId;

                string user = submit.Contains("By") ? submit.Split('y')[1] : String.Empty;
                if (submit == "Save")
                {
                    consultingRequest.Status = "Draft";
                }
                else if (submit == "Send Back")
                {
                    consultingRequest.Status = HelperController.GetStatusSendback(db, "Consulting Request", consultingRequest.Status);
                }
                else if (submit == "Reject")
                {
                    consultingRequest.Status = "Reject";
                }
                else if (submit == "Approve")
                {
                    consultingRequest.Status = "Approve";
                    ConsultingDraftAgreement consultingDraftAgreement = new ConsultingDraftAgreement();
                    consultingDraftAgreement.NoRequest   = consultingRequest.NoRequest;
                    consultingDraftAgreement.NoSurat     = consultingRequest.NoSurat;
                    consultingDraftAgreement.RequesterID = consultingRequest.RequesterID;
                    consultingDraftAgreement.ActivityStr = consultingRequest.ActivityStr;
                    //consultingDraftAgreement.ActivityID = consultingRequest.ActivityID;
                    consultingDraftAgreement.Date_Start = consultingRequest.Date_Start;
                    //consultingDraftAgreement.Date_End = consultingRequest.Date_End;
                    consultingDraftAgreement.Status = "Draft";
                    db.ConsultingDraftAgreements.Add(consultingDraftAgreement);
                }
                else if (submit == "Submit For Review By" + user)
                {
                    consultingRequest.Status = "Pending for Review by" + user;
                }
                else if (submit == "Submit For Approve By" + user)
                {
                    consultingRequest.Status = "Pending for Approve by" + user;
                    string          baseUrl    = Request.Url.GetLeftPart(UriPartial.Authority);
                    List <string>   CIAUserIds = Request.GetOwinContext().GetUserManager <ApplicationRoleManager>().Roles.Where(p => p.Name.Equals(user.Trim())).FirstOrDefault().Users.Select(p => p.UserId).ToList();
                    List <Employee> CIAEmpList = new List <Employee>();
                    if (CIAUserIds.Count() > 0)
                    {
                        var CIAUsers = Request.GetOwinContext().GetUserManager <ApplicationUserManager>().Users.Where(p => (CIAUserIds.Contains(p.Id))).ToList();
                        foreach (var CIAUser in CIAUsers)
                        {
                            Employee empl = db.Employees.Where(p => p.Email.Equals(CIAUser.Email)).FirstOrDefault();

                            string emailContent = "Dear {0}, <BR/><BR/>Consulting Request : {1} need your approval. Please click on this <a href=\"{2}\" title=\"Consulting Request\">link</a> to show the Consulting Request.<BR/><BR/><BR/> Regards,<BR/><BR/> ePatria Team";
                            string urlRequest   = baseUrl + "/ConsultingRequests/Details/" + consultingRequest.ConsultingRequestID;
                            emailTransact.SentEmailApproval(empl.Email, empl.Name, consultingRequest.NoRequest, emailContent, urlRequest);
                        }
                    }
                }
                ConsultingRequest oldData = db.ConsultingRequests.AsNoTracking().Where(p => p.ConsultingRequestID.Equals(consultingRequest.ConsultingRequestID)).FirstOrDefault();
                auditTransact.CreateAuditTrail("Update", consultingRequest.ConsultingRequestID, "Consulting Request", oldData, consultingRequest, username);
                db.Entry(consultingRequest).State = EntityState.Modified;
                db.SaveChanges();
                TempData["message"] = "Request successfully updated!";
                return(RedirectToAction("Index"));
            }
            //ViewBag.ActivityID = new SelectList(db.Activities, "ActivityID", "Name", consultingRequest.ActivityID);
            return(View(consultingRequest));
        }