// GET: Violation_CarLicenceM_M/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("errorpage", "home"));
            }
            Violation_CarLicenceM_M violation_CarLicenceM_M = db.Violation_CarLicenceM_M.Find(id);

            if (violation_CarLicenceM_M == null)
            {
                return(RedirectToAction("errorpage", "home"));
            }
            ViewBag.CarLicenceId = new SelectList(db.CarLicences.Where(a => a.Is_Deleted != true), "Id", "CarCode", violation_CarLicenceM_M.CarLicenceId);
            ViewBag.ViolationId  = new SelectList(db.Violations.Where(a => a.Is_Deleted != true), "Id", "ViolationName", violation_CarLicenceM_M.ViolationId);

            if (Session["lang"] != null)
            {
                if (Session["lang"].ToString().Equals("ar-EG"))
                {
                    ViewBag.CarLicenceId = new SelectList(db.CarLicences.Where(a => a.Is_Deleted != true), "Id", "CarCode", violation_CarLicenceM_M.CarLicenceId);
                    ViewBag.ViolationId  = new SelectList(db.Violations.Where(a => a.Is_Deleted != true), "Id", "ViolationNameArabic", violation_CarLicenceM_M.ViolationId);
                }
            }
            return(View(violation_CarLicenceM_M));
        }
        public IHttpActionResult PutViolation_CarLicenceM_M(int id, Violation_CarLicenceM_M violation_CarLicenceM_M)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != violation_CarLicenceM_M.Id)
            {
                return(BadRequest());
            }

            // db.Entry(violation_CarLicenceM_M).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Violation_CarLicenceM_MExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Violation_CarLicenceM_M violation_CarLicenceM_M = db.Violation_CarLicenceM_M.Find(id);

            violation_CarLicenceM_M.Is_Deleted = true;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IHttpActionResult PostViolation_CarLicenceM_M(Violation_CarLicenceM_M violation_CarLicenceM_M)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Violation_CarLicenceM_M.Add(violation_CarLicenceM_M);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = violation_CarLicenceM_M.Id }, violation_CarLicenceM_M));
        }
        public IHttpActionResult DeleteViolation_CarLicenceM_M(int id)
        {
            Violation_CarLicenceM_M violation_CarLicenceM_M = db.Violation_CarLicenceM_M.Find(id);

            if (violation_CarLicenceM_M == null)
            {
                return(NotFound());
            }

            db.Violation_CarLicenceM_M.Remove(violation_CarLicenceM_M);
            db.SaveChanges();

            return(Ok(violation_CarLicenceM_M));
        }
        // GET: Violation_CarLicenceM_M/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("errorpage", "home"));
            }
            Violation_CarLicenceM_M violation_CarLicenceM_M = db.Violation_CarLicenceM_M.Find(id);

            if (violation_CarLicenceM_M == null)
            {
                return(RedirectToAction("errorpage", "home"));
            }
            return(View(violation_CarLicenceM_M));
        }
 public ActionResult Edit(Violation_CarLicenceM_M violation_CarLicenceM_M)
 {
     if (ModelState.IsValid)
     {
         var old = db.Violation_CarLicenceM_M.Find(violation_CarLicenceM_M.Id);
         old.ViolationId  = violation_CarLicenceM_M.ViolationId;
         old.CarLicenceId = violation_CarLicenceM_M.CarLicenceId;
         old.Date         = violation_CarLicenceM_M.Date;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CarLicenceId = new SelectList(db.CarLicences.Where(a => a.Is_Deleted != true), "Id", "CarCode", violation_CarLicenceM_M.CarLicenceId);
     ViewBag.ViolationId  = new SelectList(db.Violations.Where(a => a.Is_Deleted != true), "Id", "ViolationName", violation_CarLicenceM_M.ViolationId);
     if (Session["lang"] != null)
     {
         if (Session["lang"].ToString().Equals("ar-EG"))
         {
             ViewBag.CarLicenceId = new SelectList(db.CarLicences.Where(a => a.Is_Deleted != true), "Id", "CarCode", violation_CarLicenceM_M.CarLicenceId);
             ViewBag.ViolationId  = new SelectList(db.Violations.Where(a => a.Is_Deleted != true), "Id", "ViolationNameArabic", violation_CarLicenceM_M.ViolationId);
         }
     }
     return(View(violation_CarLicenceM_M));
 }
        public ActionResult Create(Violation_CarLicenceM_M violation_CarLicenceM_M)
        {
            if (ModelState.IsValid)
            {
                decimal?price = db.Violations.Find(violation_CarLicenceM_M.ViolationId).ViolationPrice;

                var car = db.CarLicences.Find(violation_CarLicenceM_M.CarLicenceId).CitizenId;



                if (price != null)
                {
                    var citizenBalance = db.CitizenBalances.Where(a => a.CitizenBalance_citizen_id == car).SingleOrDefault();
                    if (citizenBalance != null)
                    {
                        if (citizenBalance.CitizenBalance_balance > price)
                        {
                            citizenBalance.CitizenBalance_balance = citizenBalance.CitizenBalance_balance - price;
                            violation_CarLicenceM_M.Is_Paid       = true;


                            var father = db.Citizens.Find(car);
                            var email  = db.Contacts.Where(a => a.contact_citizen_id == father.citizen_id).Join(db.Contact_Type, a => a.contact_contactType_id, b => b.contact_type_id, (a, b) => new { a, b }).Where(b => b.b.contact_type_name == "Email").Select(a => a.a).FirstOrDefault();
                            if (email != null)
                            {
                                string Title = "Dear " + father.citizen_first_name + " " + father.citizen_second_name + " " + father.citizen_third_name + " " + father.citizen_fourth_name + " \n  " +
                                               "You have been deducted from your account " + price + " EG fine ";
                                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                                smtp.EnableSsl             = true;
                                smtp.UseDefaultCredentials = false;
                                smtp.Credentials           = new NetworkCredential("*****@*****.**", "csce4502f16");
                                //smtp.Send("*****@*****.**", email.contact_data, "Vaccination", Title);
                                ViewBag.vcc = Servicely.Languages.Language.successfully_reserved_checkemail;
                            }
                        }
                        else
                        {
                            violation_CarLicenceM_M.Is_Paid = false;
                            var father = db.Citizens.Find(car);
                            var email  = db.Contacts.Where(a => a.contact_citizen_id == father.citizen_id).Join(db.Contact_Type, a => a.contact_contactType_id, b => b.contact_type_id, (a, b) => new { a, b }).Where(b => b.b.contact_type_name == "Email").Select(a => a.a).FirstOrDefault();
                            if (email != null)
                            {
                                string Title = "Dear " + father.citizen_first_name + " " + father.citizen_second_name + " " + father.citizen_third_name + " " + father.citizen_fourth_name + " \n  " +
                                               "";
                                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                                smtp.EnableSsl             = true;
                                smtp.UseDefaultCredentials = false;
                                smtp.Credentials           = new NetworkCredential("*****@*****.**", "csce4502f16");
                                //smtp.Send("*****@*****.**", email.contact_data, "Vaccination", Title);
                                ViewBag.vcc = Servicely.Languages.Language.successfully_reserved_checkemail;
                            }
                        }
                    }
                }
                violation_CarLicenceM_M.Date = DateTime.Now;

                db.Violation_CarLicenceM_M.Add(violation_CarLicenceM_M);
                db.SaveChanges();


                return(RedirectToAction("Index"));
            }

            ViewBag.CarLicenceId = new SelectList(db.CarLicences.Where(a => a.Is_Deleted != true), "Id", "CarCode");
            ViewBag.ViolationId  = new SelectList(db.Violations.Where(a => a.Is_Deleted != true), "Id", "ViolationName");

            if (Session["lang"] != null)
            {
                if (Session["lang"].ToString().Equals("ar-EG"))
                {
                    ViewBag.CarLicenceId = new SelectList(db.CarLicences.Where(a => a.Is_Deleted != true), "Id", "CarCode");
                    ViewBag.ViolationId  = new SelectList(db.Violations.Where(a => a.Is_Deleted != true), "Id", "ViolationNameArabic");
                }
            }
            return(View(violation_CarLicenceM_M));
        }