public IHttpActionResult PutjobMaster(RENTAL_AGREEMENT due)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                RENTAL_AGREEMENT dues = new RENTAL_AGREEMENT();
                dues = abc.RENTAL_AGREEMENT.Find(due.RENTALAGREEMENTID);
                if (dues != null)
                {
                    dues.RENTALAGREEMENTID = due.RENTALAGREEMENTID;
                    dues.DepositDueDate    = due.DepositDueDate;
                }
                int i = this.abc.SaveChanges();
            }
            catch (Exception)
            {
                dynamic User = new ExpandoObject();
                User.Message = "Something went wrong !";
                return(User);
            }
            return(Ok(due));
        }
      private dynamic GetAmount(RENTAL_AGREEMENT forbros)
      {
          dynamic dynamicjob = new ExpandoObject();

          dynamicjob = forbros.RENTALENDDATE;
          return(dynamicjob);
      }
Exemplo n.º 3
0
        private dynamic GetAmount(RENTAL_AGREEMENT forbros)
        {
            dynamic dynamicjob = new ExpandoObject();

            dynamicjob.AMOUNTDUE      = forbros.AMOUNTDUE;
            dynamicjob.RENTALSTATUSID = forbros.RENTALSTATUSID;
            dynamicjob.DepositDueDate = forbros.DepositDueDate;

            //List<dynamic> dynamicjobs = new List<dynamic>();
            //INF370Entities1 db = new INF370Entities1();
            //foreach (RENTAL_AGREEMENT Jb in forbros)
            //{

            //    dynamic dynamicjob = new ExpandoObject();
            //    var Property = db.PROPERTies.Where(zz => zz.PROPERTYID == Jb.PROPERTYID).Select(zz => zz.ADDRESS);
            //    dynamicjob.PropertyAddress = db.PROPERTies.Where(zz => zz.PROPERTYID == Jb.PROPERTYID).Select(zz => zz.ADDRESS);
            //    dynamicjob.ReferenceNo = Jb.REFERENCE_NO;
            //    dynamicjob.AmountDue = Jb.AMOUNTDUE;

            //    //List<dynamic> RentalDetails = new List<dynamic>();
            //    //foreach (var Details in Jb)
            //    //{
            //    //    dynamic dynamiDetails = new ExpandoObject();
            //    //    dynamiDetails.AmountDue = Jb.AMOUNTDUE;
            //    //}
            //}
            return(dynamicjob);
        }
        public HttpResponseMessage AddRentalAgreement(AddRentalAgreement sd)
        {
            //  var httpRequest = HttpContext.Current.Request;

            RENTAL_AGREEMENT rentalAgreement = new RENTAL_AGREEMENT();
            Random           random          = new Random();



            //Save to DB
            try
            {
                rentalAgreement.CLIENTID       = sd.ClientID;
                rentalAgreement.PROPERTYID     = sd.PropertyID;
                rentalAgreement.RENTALSTATUSID = 1;
                rentalAgreement.REFERENCE_NO   = random.Next(100000, 999999).ToString();
                rentalAgreement.AMOUNTDUE      = db.RENTALAMOUNTs.Where(zz => zz.PROPERTYID == sd.PropertyID).Select(zz => zz.AMOUNT).FirstOrDefault();

                rentalAgreement.RENTALSTARTDATE = db.RENTALAPPLICATIONs.Where(xx => xx.CLIENTID == sd.RentalApplicationID).Select(ss => ss.PREFERREDSTARTDATE).FirstOrDefault();
                rentalAgreement.RENTALENDDATE   = DateTime.Now.AddYears(1);

                //change status of rental application to accepted here |||
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error With Booking "));
            }



            try
            {
                db.RENTAL_AGREEMENT.Add(rentalAgreement);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error With Rental "));
            }


            //booking.BOOKINGID = getCreatedBookingID(booking.CLIENTID);
            return(Request.CreateResponse(HttpStatusCode.Created));
        }
Exemplo n.º 5
0
        public dynamic GetAmount(PAYMENT Pay)
        {
            INF370Entities db = new INF370Entities();

            db.Configuration.ProxyCreationEnabled = false;

            try
            {
                PAYMENT pay = new PAYMENT();
                pay.PAYMENTDATETIME      = DateTime.Today;
                pay.RENTALAGREEMENTID    = Convert.ToInt32(db.RENTAL_AGREEMENT.Where(jj => jj.REFERENCE_NO == Pay.PAYMENT_REFERENCE_NO.ToString()).Select(ll => ll.RENTALAGREEMENTID).FirstOrDefault());
                pay.PAYMENTTYPEID        = Pay.PAYMENTTYPEID;
                pay.PAYMENT_AMOUNT       = Pay.PAYMENT_AMOUNT;
                pay.PAYMENT_REFERENCE_NO = Pay.PAYMENT_REFERENCE_NO;

                db.PAYMENTs.Add(pay);
                db.SaveChanges();

                RENTAL_AGREEMENT rent = db.RENTAL_AGREEMENT.Where(LL => LL.RENTALAGREEMENTID == pay.RENTALAGREEMENTID).FirstOrDefault();
                if (rent.RENTALSTATUSID == 1)
                {
                    rent.RENTALSTATUSID = 5;
                    db.SaveChanges();
                }
                else
                {
                    rent.AMOUNTDUE = rent.AMOUNTDUE - Convert.ToInt32(Pay.PAYMENT_AMOUNT);
                    db.SaveChanges();
                }
            }
            catch (Exception)
            {
                return(null);
            }



            return(Ok());
        }
      public HttpResponseMessage SendTerminateEmail(Email email)
      {
          //add try catch when done


          INF370Entities db          = new INF370Entities();
          var            clientID    = db.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.CLIENTID).FirstOrDefault();
          var            referenceNo = db.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.REFERENCE_NO).FirstOrDefault();
          var            theClient   = db.CLIENTs.Find(clientID);

          RENTAL_AGREEMENT rnt = db.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).FirstOrDefault();

          rnt.ExtendRentalDate = email.ExtensionDate;
          db.RENTAL_AGREEMENT.Add(rnt);
          db.SaveChanges();

          //send email with verification OTP
          MailMessage mail       = new MailMessage();
          SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

          mail.From = new MailAddress("*****@*****.**");
          mail.To.Add("*****@*****.**");
          mail.Subject = "Extension Request From: " + theClient.NAME + " " + theClient.SURNAME;
          mail.Body    = "Rental Agreement Reference Number " + referenceNo + " \n Client Details \n Client ID : " + theClient.CLIENTID + " \n Name: " + theClient.NAME + " " + theClient.SURNAME + "Extension Request Details \n Extension Date : " + email.ExtensionDate;

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

          SmtpServer.Send(mail);


          return(Request.CreateResponse(HttpStatusCode.Created));
          //-------------
      }
        public IHttpActionResult GetAgreementDetailsById(string RENTALAGREEMENTID)
        {
            db.Configuration.ProxyCreationEnabled = false;

            RENTAL_AGREEMENT abc = new RENTAL_AGREEMENT();
            int ID = Convert.ToInt32(RENTALAGREEMENTID);

            try
            {
                abc = db.RENTAL_AGREEMENT.Find(ID);
                if (abc == null)
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                dynamic User = new ExpandoObject();
                User.Message = "Something went wrong !";
                return(User);
            }

            return(Ok(abc));
        }
        public HttpResponseMessage AddRentalAgreement(AddRentalAgreement sd)
        {
            //  var httpRequest = HttpContext.Current.Request;

            RENTAL_AGREEMENT  rentalAgreement = new RENTAL_AGREEMENT();
            RENTALAPPLICATION rentalAppl      = new RENTALAPPLICATION();
            PROPERTY          prop            = new PROPERTY();
            Random            random          = new Random();

            prop = db.PROPERTies.Find(sd.PropertyID);



            //Save to DB
            try
            {
                rentalAgreement.CLIENTID       = sd.ClientID;
                rentalAgreement.PROPERTYID     = sd.PropertyID;
                rentalAgreement.RENTALSTATUSID = 1;
                var REFERENCE_NO = random.Next(100000, 999999).ToString();
                rentalAgreement.REFERENCE_NO        = REFERENCE_NO;
                rentalAgreement.AMOUNTDUE           = db.RENTALAMOUNTs.Where(zz => zz.PROPERTYID == sd.PropertyID).Select(zz => zz.AMOUNT).FirstOrDefault();
                rentalAgreement.RENTALAPPLICATIONID = sd.RentalApplicationID;
                rentalAgreement.RENTALSTARTDATE     = DateTime.Today;
                rentalAgreement.DepositDueDate      = DateTime.Today.AddDays(7);

                //db.RENTALAPPLICATIONs.Where(xx=>xx.CLIENTID==sd.RentalApplicationID).Select(ss=>ss.PREFERREDSTARTDATE).FirstOrDefault();
                rentalAgreement.RENTALENDDATE = DateTime.Now.AddYears(1);
                db.RENTAL_AGREEMENT.Add(rentalAgreement);
                db.SaveChanges();


                var theClient = db.CLIENTs.Where(hh => hh.CLIENTID == sd.ClientID).FirstOrDefault();
                var agreement = db.RENTAL_AGREEMENT.Where(hh => hh.REFERENCE_NO == REFERENCE_NO).FirstOrDefault();
                var address   = db.PROPERTies.Where(hh => hh.PROPERTYID == sd.PropertyID).Select(jj => jj.ADDRESS).FirstOrDefault
                                    ();

                //send email with verification
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(theClient.EMAIL);
                mail.Subject = "Inturbidus: New Rental Agreement for " + theClient.NAME + " " + theClient.SURNAME;
                mail.Body    = "Good day " + theClient.NAME + " " + theClient.SURNAME + "\n Here are you new rental agreement details:\n Rental Agreement Reference No:" + agreement.REFERENCE_NO + "\n  Property Address:" + address + "\nDetails regarding a move-in inspection will be sent once the deposit is paid. Please pay the deposit on our site within 7 days (by " + agreement.DepositDueDate + " ) or else the rental agreement will be reverted. \n Please dont hesitate contact us should you have any queries.  \n\nHave a good day! ";
                //" \nRental Agreement Duration " + agreement.RENTALSTARTDATE + "-" + agreement.RENTAL
                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 Booking "));
            }



            try
            {
                //change status of rental application to accepted here |||

                rentalAppl = db.RENTALAPPLICATIONs.Find(sd.RentalApplicationID);
                rentalAppl.RENTALAPPLICATIONSTATUSID = 5;
                prop.PROPERTYSTATUSID = 2;


                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error With Rental "));
            }


            //booking.BOOKINGID = getCreatedBookingID(booking.CLIENTID);
            return(Request.CreateResponse(HttpStatusCode.Created));
        }
Exemplo n.º 9
0
 public dynamic PutjobMaster(Email email)
 {
     if (email.ExtensionPeriod == 1)
     {
         try
         {
             RENTAL_AGREEMENT emails = new RENTAL_AGREEMENT();
             emails = abc.RENTAL_AGREEMENT.Find(email.RentalAgreementID);
             DateTime currentdate  = Convert.ToDateTime(emails.RENTALENDDATE);
             DateTime Extendeddate = currentdate.AddMonths(6);
             emails.ExtendRentalDate = Extendeddate;
             if (email.ExtensionPeriod == 1)
             {
                 emails.RENTALSTATUSID    = 3;
                 emails.RENTALAGREEMENTID = email.RentalAgreementID;
                 emails.ExtendRentalDate  = Extendeddate;
             }
             int i = this.abc.SaveChanges();
             try
             {
                 var clientID    = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.CLIENTID).FirstOrDefault();
                 var referenceNo = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.REFERENCE_NO).FirstOrDefault();
                 var theClient   = abc.CLIENTs.Find(clientID);
                 //send email with verification OTP
                 MailMessage mail       = new MailMessage();
                 SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                 mail.From = new MailAddress("*****@*****.**");
                 mail.To.Add("*****@*****.**");
                 mail.Subject                     = "Extension Request From: " + theClient.NAME + " " + theClient.SURNAME;
                 mail.Body                        = "Rental Agreement Reference Number " + referenceNo + " \n Client Details \n Client ID : " + theClient.CLIENTID + " \n Name: " + theClient.NAME + " " + theClient.SURNAME + "Extension Request Details \n Extension Date : " + Extendeddate;
                 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(null);
             }
         }
         catch (Exception)
         {
             return(null);
         }
     }
     if (email.ExtensionPeriod == 2)
     {
         try
         {
             RENTAL_AGREEMENT emails = new RENTAL_AGREEMENT();
             emails = abc.RENTAL_AGREEMENT.Find(email.RentalAgreementID);
             DateTime currentdate  = Convert.ToDateTime(emails.RENTALENDDATE);
             DateTime Extendeddate = currentdate.AddMonths(12);
             emails.ExtendRentalDate = Extendeddate;
             if (email.ExtensionPeriod == 2)
             {
                 emails.RENTALSTATUSID    = 3;
                 emails.RENTALAGREEMENTID = email.RentalAgreementID;
                 emails.ExtendRentalDate  = Extendeddate;
             }
             int i = this.abc.SaveChanges();
             try
             {
                 var clientID    = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.CLIENTID).FirstOrDefault();
                 var referenceNo = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.REFERENCE_NO).FirstOrDefault();
                 var theClient   = abc.CLIENTs.Find(clientID);
                 //send email with verification OTP
                 MailMessage mail       = new MailMessage();
                 SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                 mail.From = new MailAddress("*****@*****.**");
                 mail.To.Add("*****@*****.**");
                 mail.Subject                     = "Extension Request From: " + theClient.NAME + " " + theClient.SURNAME;
                 mail.Body                        = "Rental Agreement Reference Number " + referenceNo + " \n Client Details \n Client ID : " + theClient.CLIENTID + " \n Name: " + theClient.NAME + " " + theClient.SURNAME + "Extension Request Details \n Extension Date : " + Extendeddate;
                 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(null);
             }
         }
         catch (Exception)
         {
             return(null);
         }
     }
     if (email.ExtensionPeriod == 3)
     {
         try
         {
             RENTAL_AGREEMENT emails = new RENTAL_AGREEMENT();
             emails = abc.RENTAL_AGREEMENT.Find(email.RentalAgreementID);
             DateTime currentdate  = Convert.ToDateTime(emails.RENTALENDDATE);
             DateTime Extendeddate = currentdate.AddMonths(24);
             emails.ExtendRentalDate = Extendeddate;
             if (email.ExtensionPeriod == 3)
             {
                 emails.RENTALSTATUSID    = 3;
                 emails.RENTALAGREEMENTID = email.RentalAgreementID;
                 emails.ExtendRentalDate  = Extendeddate;
             }
             int i = this.abc.SaveChanges();
             try
             {
                 var clientID    = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.CLIENTID).FirstOrDefault();
                 var referenceNo = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.REFERENCE_NO).FirstOrDefault();
                 var theClient   = abc.CLIENTs.Find(clientID);
                 //send email with verification OTP
                 MailMessage mail       = new MailMessage();
                 SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                 mail.From = new MailAddress("*****@*****.**");
                 mail.To.Add("*****@*****.**");
                 mail.Subject                     = "Extension Request From: " + theClient.NAME + " " + theClient.SURNAME;
                 mail.Body                        = "Rental Agreement Reference Number " + referenceNo + " \n Client Details \n Client ID : " + theClient.CLIENTID + " \n Name: " + theClient.NAME + " " + theClient.SURNAME + "Extension Request Details \n Extension Date : " + Extendeddate;
                 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(null);
             }
         }
         catch (Exception)
         {
             return(null);
         }
     }
     return(Ok());
 }
        public HttpResponseMessage AddCOmplaint()
        {
            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"];
                //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
            {
                int userID            = Convert.ToInt16(httpRequest["UserID"]);
                RENTAL_AGREEMENT rent = db.RENTAL_AGREEMENT.Where(zz => zz.USERID == userID).FirstOrDefault();
                conplaint.RENTALAGREEMENTID = Convert.ToInt16(rent.USERID);
                conplaint.DETAILS           = httpRequest["Details"];
                conplaint.COMPLAINTSTATUSID = 1;
                conplaint.DATE  = DateTime.Now;
                conplaint.PHOTO = imageName;

                //conplaint.RENTALAGREEMENTID = Convert.ToInt16(complaint.RentalID);
                //conplaint.DETAILS = complaint.Details;
                //conplaint.COMPLAINTSTATUSID = 1;
                //conplaint.DATE = DateTime.Now;
                //conplaint.PHOTO = imageName;
            }
            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));
        }
Exemplo n.º 11
0
        public dynamic GetAmount(int ID)
        {
            INF370Entities db = new INF370Entities();

            db.Configuration.ProxyCreationEnabled = false;

            try
            {
                string           myref = ID.ToString();
                RENTAL_AGREEMENT rent  = db.RENTAL_AGREEMENT.Where(zz => zz.REFERENCE_NO == myref).FirstOrDefault();

                PAYMENT pay = new PAYMENT();
                pay.PAYMENTDATETIME   = DateTime.Today;
                pay.RENTALAGREEMENTID = rent.RENTALAGREEMENTID;
                string referance = rent.REFERENCE_NO;
                if (rent.RENTALSTATUSID == 1)
                {
                    pay.PAYMENTTYPEID        = 1;
                    pay.PAYMENT_AMOUNT       = rent.AMOUNTDUE;
                    pay.PAYMENT_REFERENCE_NO = ID;

                    //myrent.RENTALSTATUSID = 5;
                    //myrent.AMOUNTDUE = rent.AMOUNTDUE - rent.AMOUNTDUE;
                    //db.SaveChanges();
                }
                else if (rent.RENTALSTATUSID == 5)
                {
                    pay.PAYMENTTYPEID        = 2;
                    pay.PAYMENT_AMOUNT       = rent.AMOUNTDUE;
                    pay.PAYMENT_REFERENCE_NO = ID;


                    //myrent.AMOUNTDUE = rent.AMOUNTDUE - rent.AMOUNTDUE;
                    //db.SaveChanges();
                }



                db.PAYMENTs.Add(pay);
                db.SaveChanges();

                RENTAL_AGREEMENT myrent = db.RENTAL_AGREEMENT.Find(rent.RENTALAGREEMENTID);
                if (rent.RENTALSTATUSID == 1)
                {
                    rent.RENTALSTATUSID = 5;
                    //rent.AMOUNTDUE = 0;
                    db.SaveChanges();
                }
                else
                {
                    rent.AMOUNTDUE = 0;
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                return(null);
            }


            return(Ok());
        }
Exemplo n.º 12
0
        public IHttpActionResult PutjobMaster(Email email)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var rent = abc.RENTAL_AGREEMENT.Where(zz => zz.RENTALAGREEMENTID == email.RentalAgreementID).FirstOrDefault();
            var date = rent.RENTALENDDATE;

            if (email.TerminationDate < date)
            {
                try
                {
                    RENTAL_AGREEMENT emails = new RENTAL_AGREEMENT();
                    emails = abc.RENTAL_AGREEMENT.Find(email.RentalAgreementID);


                    if (email.TerminationDate < date)
                    {
                        emails.RENTALSTATUSID      = 4;
                        emails.RENTALAGREEMENTID   = email.RentalAgreementID;
                        emails.TerminateRentalDate = email.TerminationDate;
                    }
                    int i = this.abc.SaveChanges();
                    try
                    {
                        var clientID    = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.CLIENTID).FirstOrDefault();
                        var referenceNo = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.REFERENCE_NO).FirstOrDefault();
                        var theClient   = abc.CLIENTs.Find(clientID);
                        //send email with verification OTP
                        MailMessage mail       = new MailMessage();
                        SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                        mail.From = new MailAddress("*****@*****.**");
                        mail.To.Add("*****@*****.**");
                        mail.Subject                     = "Termination Request From: " + theClient.NAME + " " + theClient.SURNAME;
                        mail.Body                        = "Rental Agreement Reference Number " + referenceNo + " \n " + theClient.NAME + "  " + theClient.SURNAME + "would like to terminate their rental agreement \n Client Details \n Client ID : " + theClient.CLIENTID + " \n Name: " + theClient.NAME + " " + theClient.SURNAME + "\n Termination Request Details \n Termination Date : " + email.TerminationDate + "\n Termination Reason: " + email.TerminationReason;
                        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(null);
                    }
                }
                catch (Exception)
                {
                    return(null);
                }
            }
            if (email.TerminationDate > date)
            {
                try
                {
                    var clientID    = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.CLIENTID).FirstOrDefault();
                    var referenceNo = abc.RENTAL_AGREEMENT.Where(nn => nn.RENTALAGREEMENTID == email.RentalAgreementID).Select(vvs => vvs.REFERENCE_NO).FirstOrDefault();
                    var theClient   = abc.CLIENTs.Find(clientID);
                    //send email with verification OTP
                    MailMessage mail       = new MailMessage();
                    SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                    mail.From = new MailAddress("*****@*****.**");
                    mail.To.Add(theClient.EMAIL);
                    mail.Subject                     = "Termination Request Date Invalid ";
                    mail.Body                        = "The Termination Request for Rental Agreement Reference Number " + referenceNo + " \n " + theClient.NAME + "  " + theClient.SURNAME + "has failed  because the rental termination date is Invalid. Please select a date before the Rental agreements's End date \n Client Details \n Client ID : " + theClient.CLIENTID + " \n Name: " + theClient.NAME + " " + theClient.SURNAME + "\n Invalid Termination Date:" + email.TerminationDate;
                    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(null);
                }
            }
            return(Ok(email));
        }