示例#1
0
        public IHttpActionResult DeleteComplaint(int ID)
        {
            db.Configuration.ProxyCreationEnabled = false;
            COMPLAINT Delete = new COMPLAINT();

            Delete = db.COMPLAINTs.Where(zz => zz.COMPLAINTID == ID).FirstOrDefault();
            if (Delete == null)
            {
                return(NotFound());
            }
            db.COMPLAINTs.Remove(Delete);
            db.SaveChanges();

            return(Ok(Delete));
        }
        public dynamic Assign(dynamic Employee)
        {
            db.Configuration.ProxyCreationEnabled = false;
            try
            {
                int EmployeeID  = Convert.ToInt16(Employee.EMPLOYEEID);
                int ComplaintID = Convert.ToInt16(Employee.ComplaintID);

                COMPLAINT com = db.COMPLAINTs.Where(zz => zz.COMPLAINTID == ComplaintID).FirstOrDefault();
                com.EMPLOYEEID = EmployeeID;
                db.SaveChanges();
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
示例#3
0
        public dynamic Assign(dynamic Employee)
        {
            db.Configuration.ProxyCreationEnabled = false;
            try
            {
                //int EmployeeID = Convert.ToInt16(Employee.EMPLOYEEID);
                int ComplaintID = Convert.ToInt16(Employee.ComplaintID);

                COMPLAINT com = db.COMPLAINTs.Where(zz => zz.COMPLAINTID == ComplaintID).FirstOrDefault();
                // com.EMPLOYEEID = EmployeeID;
                com.COMPLAINTSTATUSID = 2;
                db.SaveChanges();


                var rentid = db.COMPLAINTs.Where(cc => cc.COMPLAINTID == ComplaintID).Select(kk => kk.RENTALAGREEMENTID).FirstOrDefault();
                var clntid = db.RENTAL_AGREEMENT.Where(cc => cc.RENTALAGREEMENTID == rentid).Select(kk => kk.CLIENTID);
                var cln    = db.CLIENTs.Find(clntid);

                //send email
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(cln.EMAIL.ToString());
                mail.Subject = "Inturbidus: Complaint resolved ! ";
                mail.Body    = "Good day " + cln.NAME + " " + cln.SURNAME + "\n\nYour complaint was recently resolved, we would appreciate your feedback.\n\nPlease navigate to the Complaints page and provide feedback on whether your complaint was resolved .\n\nThank you";

                SmtpServer.Port                  = 587;
                SmtpServer.DeliveryMethod        = SmtpDeliveryMethod.Network;
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "test123@123test");
                SmtpServer.EnableSsl             = true;

                SmtpServer.Send(mail);
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
示例#4
0
        public dynamic getComplaintById(int ID)
        {
            db.Configuration.ProxyCreationEnabled = false;
            COMPLAINT com   = new COMPLAINT();
            dynamic   myCom = new ExpandoObject();

            try
            {
                com = db.COMPLAINTs.Find(ID);



                myCom.ComplaintID = com.COMPLAINTID;
                COMPLAINTSTATU status = db.COMPLAINTSTATUS.Where(zz => zz.COMPLAINTSTATUSID == com.COMPLAINTSTATUSID).FirstOrDefault();
                myCom.ComplaintStatus = status.COMPLAINTSTATUS_NAME;
                myCom.Date            = com.DATE;
                myCom.Details         = com.DETAILS;
                myCom.Photo           = com.PHOTO;
                myCom.RentalID        = com.RENTALAGREEMENTID;
                string filePath = HttpContext.Current.Server.MapPath("~/Images/" + com.PHOTO);
                using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
                {
                    using (var memoryStream = new MemoryStream())
                    {
                        fileStream.CopyTo(memoryStream);
                        Bitmap image = new Bitmap(1, 1);
                        image.Save(memoryStream, ImageFormat.Png);

                        byte[] byteImage    = memoryStream.ToArray();
                        string base64String = Convert.ToBase64String(byteImage);
                        myCom.Photo = "data:image/png;base64," + base64String;
                    }
                }
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error With Complaint Details"));
            }
            return(myCom);
        }
示例#5
0
        public HttpResponseMessage UpdateComplaint()
        {
            var    httpRequest = HttpContext.Current.Request;
            string imageName   = "";

            try
            {
                ////Upload Image
                ////var postedFile = httpRequest.Files["Image"];

                //string postedFile = complaint.Photo.tostring();
                ////int len = postedFile.le
                ////Create custom filename
                //imageName = new String(Path.GetFileNameWithoutExtension(postedFile).Take(postedFile.Length).ToArray()).Replace(" ", "-") + Path.GetExtension(postedFile);
                //imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile);
                //var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName);
                //postedFile.SaveAs(filePath);

                //Upload Image
                var postedFile = httpRequest.Files["Image"];
                if (postedFile != null)
                {
                    //Create custom filename
                    imageName = new String(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(postedFile.FileName.Length).ToArray()).Replace(" ", "-") + Path.GetExtension(postedFile.FileName);
                    imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName);
                    var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName);
                    postedFile.SaveAs(filePath);
                }
            }
            catch
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No image was added"));
            }

            COMPLAINT conplaint = new COMPLAINT();

            //Save to DB
            try
            {
                var       ID     = Convert.ToInt16(httpRequest["ComplaintID"]);
                COMPLAINT update = db.COMPLAINTs.Where(zz => zz.COMPLAINTID == ID).FirstOrDefault();


                update.RENTALAGREEMENTID = Convert.ToInt16(httpRequest["RentalID"]);
                update.DETAILS           = httpRequest["Details"];
                update.DATE = DateTime.Now;
                if (imageName != "")
                {
                    update.PHOTO = imageName;
                }
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error With Complaint Details"));
            }


            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message));
            }

            return(Request.CreateResponse(HttpStatusCode.Created));
        }
示例#6
0
        public HttpResponseMessage AddCOmplaint()
        {
            var    httpRequest = HttpContext.Current.Request;
            string imageName   = "";

            try
            {
                //Upload Image
                var postedFile = httpRequest.Files["Image"];

                if (postedFile == null)
                {
                    //imageName = new String(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(postedFile.FileName.Length).ToArray()).Replace(" ", "-") + Path.GetExtension(postedFile.FileName);
                    //imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName);
                    //var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName);
                    //postedFile.SaveAs(filePath);
                }
                else
                {
                    imageName = new String(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(postedFile.FileName.Length).ToArray()).Replace(" ", "-") + Path.GetExtension(postedFile.FileName);
                    imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName);
                    var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName);
                    postedFile.SaveAs(filePath);
                }
            }
            catch
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No image was added"));
            }

            COMPLAINT conplaint = new COMPLAINT();

            //Save to DB
            try
            {
                conplaint.RENTALAGREEMENTID = Convert.ToInt16(httpRequest["RentalID"]);
                conplaint.DETAILS           = httpRequest["Details"];
                conplaint.COMPLAINTSTATUSID = 1;
                conplaint.DATE  = DateTime.Now;
                conplaint.PHOTO = imageName;

                var admin = db.EMPLOYEEs.Where(kk => kk.EMPLOYEETYPEID == 9).FirstOrDefault();

                //send email
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(admin.EMAIL.ToString());
                mail.Subject = "Complaint lodged ! ";
                mail.Body    = "Good day " + admin.NAME + " " + admin.SURNAME + "\n\nThere is a new complaint that has to be reviewed and resolved,please have a look at it.\n\nThank you";

                SmtpServer.Port                  = 587;
                SmtpServer.DeliveryMethod        = SmtpDeliveryMethod.Network;
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "test123@123test");
                SmtpServer.EnableSsl             = true;

                SmtpServer.Send(mail);
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error With Complaint Details"));
            }


            try
            {
                db.COMPLAINTs.Add(conplaint);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message));
            }

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