public List <dynamic> GetUnassignedComplaints()
        {
            db.Configuration.ProxyCreationEnabled = false;
            try
            {
                List <COMPLAINT> comList       = db.COMPLAINTs.ToList();
                List <dynamic>   ComplaintList = new List <dynamic>();



                foreach (var com in comList)
                {
                    if (com.COMPLAINTSTATUSID == 1)
                    {
                        dynamic myCom = new ExpandoObject();

                        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;
                        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;
                            }
                        }


                        ComplaintList.Add(myCom);
                    }
                }

                //return db.Products.ToList();
                return(ComplaintList);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #2
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);
        }
Example #3
0
        public List <dynamic> getMyComplaint(int ID)
        {
            db.Configuration.ProxyCreationEnabled = false;
            List <dynamic> ComplaintList = new List <dynamic>();

            //COMPLAINT com = new COMPLAINT();

            try
            {
                var rental = db.RENTAL_AGREEMENT.Where(hh => hh.CLIENTID == ID).ToList();


                if (rental.Count != 0)
                {
                    var myComplaints =
                        (from x in db.COMPLAINTs.AsEnumerable()
                         join y in rental.AsEnumerable()
                         on x.RENTALAGREEMENTID equals y.RENTALAGREEMENTID
                         //  where x.id.Equals(id)
                         select new COMPLAINT
                    {
                        RENTALAGREEMENTID = x.RENTALAGREEMENTID,
                        PHOTO = x.PHOTO,
                        COMPLAINTSTATUSID = x.COMPLAINTSTATUSID,
                        DETAILS = x.DETAILS,
                        DATE = x.DATE,
                        COMPLAINTID = x.COMPLAINTID,
                    }).ToList();

                    foreach (var com in myComplaints)
                    {
                        dynamic myCom = new ExpandoObject();
                        //com = db.COMPLAINTs.Where();



                        myCom.ComplaintID = com.COMPLAINTID;
                        COMPLAINTSTATU status   = db.COMPLAINTSTATUS.Where(zz => zz.COMPLAINTSTATUSID == com.COMPLAINTSTATUSID).FirstOrDefault();
                        var            feedback = db.FEEDBACKs.Where(hh => hh.COMPLAINTID == com.COMPLAINTID).Select(kk => kk.FEEDBACKCOMMENT);
                        myCom.ComplaintStatus = status.COMPLAINTSTATUS_NAME;
                        myCom.Date            = com.DATE;
                        myCom.Details         = com.DETAILS;
                        myCom.Photo           = com.PHOTO;
                        myCom.RentalID        = com.RENTALAGREEMENTID;
                        myCom.Feedback        = feedback;

                        if (com.PHOTO == "")
                        {
                            string filePath = HttpContext.Current.Server.MapPath("~/Images/notfound.png");
                            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;
                                }
                            }
                        }
                        else
                        {
                            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;
                                }
                            }
                        }
                        ComplaintList.Add(myCom);
                    }
                }
            }
            catch (Exception e)
            {
                return(null);
            }
            return(ComplaintList);
        }
Example #4
0
        public List <dynamic> GetAllComplaints()
        {
            db.Configuration.ProxyCreationEnabled = false;
            try
            {
                List <COMPLAINT> comList       = db.COMPLAINTs.ToList();
                List <dynamic>   ComplaintList = new List <dynamic>();



                foreach (var com in comList)
                {
                    dynamic myCom = new ExpandoObject();

                    myCom.ComplaintID = com.COMPLAINTID;
                    var            rental = db.RENTAL_AGREEMENT.Where(jj => jj.RENTALAGREEMENTID == com.RENTALAGREEMENTID).FirstOrDefault();
                    var            client = db.CLIENTs.Where(jj => jj.CLIENTID == rental.CLIENTID).FirstOrDefault();
                    COMPLAINTSTATU status = db.COMPLAINTSTATUS.Where(zz => zz.COMPLAINTSTATUSID == com.COMPLAINTSTATUSID).FirstOrDefault();
                    myCom.ComplaintStatus = status.COMPLAINTSTATUS_NAME;
                    myCom.Name            = client.NAME + " " + client.SURNAME;
                    myCom.Number          = client.PHONENUMBER;
                    myCom.Date            = com.DATE;

                    myCom.Details = com.DETAILS;
                    myCom.Photo   = com.PHOTO;
                    if (com.PHOTO == "")
                    {
                        string filePath = HttpContext.Current.Server.MapPath("~/Images/notfound.png");
                        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;
                            }
                        }
                    }
                    else
                    {
                        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;
                            }
                        }
                    }

                    ComplaintList.Add(myCom);
                }

                //return db.Products.ToList();
                return(ComplaintList);
            }
            catch (Exception)
            {
                return(null);
            }
        }