Пример #1
0
        //Export to Excel
        public ActionResult Export()
        {
            List <ContactModel> allContacts = new List <ContactModel>();

            using (MyContactBookEntities dc = new MyContactBookEntities())
            {
                var v = (from a in dc.Contacts
                         join b in dc.Countries on a.CountryID equals b.CountryID
                         join c in dc.States on a.StateID equals c.StateID
                         select new ContactModel
                {
                    ContactID = a.ContactID,
                    FirstName = a.ContactPersonFname,
                    LastName = a.ContactPersonLname,
                    ContactNo1 = a.ContactNo1,
                    ContactNo2 = a.ContactNo2,
                    EmailID = a.EmailID,
                    Country = b.CountryName,
                    State = c.StateName,
                    Address = a.Address,
                    ImagePath = a.ImagePath
                }).ToList();
                allContacts = v;
            }
            return(View(allContacts));
        }
Пример #2
0
        private Contact GetContact(int contactID)
        {
            Contact contact = null;

            using (MyContactBookEntities dc = new MyContactBookEntities())
            {
                var v = (from a in dc.Contacts
                         join b in dc.Countries on a.CountryID equals b.CountryID
                         join c in dc.States on a.StateID equals c.StateID
                         where a.ContactID.Equals(contactID)
                         select new
                {
                    a,
                    b.CountryName,
                    c.StateName
                }).FirstOrDefault();
                if (v != null)
                {
                    contact             = v.a;
                    contact.CountryName = v.CountryName;
                    contact.StateName   = v.StateName;
                }
            }
            return(contact);
        }
Пример #3
0
 // fetch states from jquery code
 public JsonResult GetStates(int countryID)
 {
     using (MyContactBookEntities dc = new MyContactBookEntities())
     {
         var State = (from a in dc.States
                      where a.CountryID.Equals(countryID)
                      orderby a.StateName
                      select a).ToList();
         return(new JsonResult {
             Data = State, JsonRequestBehavior = JsonRequestBehavior.AllowGet
         });
     }
 }
Пример #4
0
        public ActionResult Add()
        {
            //fetch country data
            List <Country> AllCountry = new List <Country>();
            List <State>   states     = new List <State>();

            // db MyContactBookEntities is our DbContext
            using (MyContactBookEntities dc = new MyContactBookEntities())
            {
                AllCountry = dc.Countries.OrderBy(a => a.CountryName).ToList();
            }

            ViewBag.Country = new SelectList(AllCountry, "CountryID", "CountryName");
            ViewBag.State   = new SelectList(states, "StateID", "StateName");

            return(View());
        }
Пример #5
0
 [ActionName("Delete")] // Here Action Name is required as we can not make same signature for Get & Post Method
 public ActionResult DeleteConfirm(int id)
 {
     using (MyContactBookEntities dc = new MyContactBookEntities())
     {
         var contact = dc.Contacts.Where(a => a.ContactID.Equals(id)).FirstOrDefault();
         if (contact != null)
         {
             dc.Contacts.Remove(contact);
             dc.SaveChanges();
             return(RedirectToAction("Index"));
         }
         else
         {
             return(HttpNotFound("Contact Not Found!"));
         }
     }
 }
Пример #6
0
        public FileResult ExportData()
        {
            List <ContactModel> allContacts = new List <ContactModel>();

            using (MyContactBookEntities dc = new MyContactBookEntities())
            {
                var v = (from a in dc.Contacts
                         join b in dc.Countries on a.CountryID equals b.CountryID
                         join c in dc.States on a.StateID equals c.StateID
                         select new ContactModel
                {
                    ContactID = a.ContactID,
                    FirstName = a.ContactPersonFname,
                    LastName = a.ContactPersonLname,
                    ContactNo1 = a.ContactNo1,
                    ContactNo2 = a.ContactNo2,
                    EmailID = a.EmailID,
                    Country = b.CountryName,
                    State = c.StateName,
                    Address = a.Address,
                    ImagePath = a.ImagePath
                }).ToList();
                allContacts = v;
            }

            var    grid       = new WebGrid(source: allContacts, canPage: false, canSort: false);
            string exportData = grid.GetHtml(
                columns: grid.Columns(
                    grid.Column("ContactID", "Contact ID"),
                    grid.Column("FirstName", "First Name"),
                    grid.Column("LastName", "Last Name"),
                    grid.Column("ContactNo1", "Contact No1"),
                    grid.Column("ContactNo2", "Contact No2"),
                    grid.Column("EmailID", "Email ID")
                    )
                ).ToHtmlString();

            return(File(new System.Text.UTF8Encoding().GetBytes(exportData),
                        "application/vnd.ms-excel",
                        "Contacts.xls"));
        }
Пример #7
0
        //  Edit Part
        public ActionResult Edit(int id)
        {
            // Fetch Contact
            Contact c = null;

            c = GetContact(id); // GetContact I have created in the previous part

            if (c == null)
            {
                return(HttpNotFound("Contact Not Found!"));
            }
            // Fetch Country & State
            List <Country> allCountry = new List <Country>();
            List <State>   states     = new List <State>();

            using (MyContactBookEntities dc = new MyContactBookEntities())
            {
                allCountry = dc.Countries.OrderBy(a => a.CountryName).ToList();
                states     = dc.States.Where(a => a.CountryID.Equals(c.CountryID)).OrderBy(a => a.StateName).ToList();
            }
            ViewBag.Country = new SelectList(allCountry, "CountryID", "CountryName", c.CountryID);
            ViewBag.State   = new SelectList(states, "StateID", "StateName", c.StateID);
            return(View(c));
        }
Пример #8
0
 public ActionResult Add(Contact c, HttpPostedFileBase file)
 {
     #region // Fetch Country & State
     List <Country> allCountry = new List <Country>();
     List <State>   states     = new List <State>();
     using (MyContactBookEntities dc = new MyContactBookEntities())
     {
         allCountry = dc.Countries.OrderBy(a => a.CountryName).ToList();
         if (c.CountryID > 0)
         {
             states = dc.States.Where(a => a.CountryID.Equals(c.CountryID)).OrderBy(a => a.StateName).ToList();
         }
     }
     ViewBag.Country = new SelectList(allCountry, "CountryID", "CountryName", c.CountryID);
     ViewBag.State   = new SelectList(states, "StateID", "StateName", c.StateID);
     #endregion
     #region// Validate file if selected
     if (file != null)
     {
         if (file.ContentLength > (512 * 1000)) // 512 KB
         {
             ModelState.AddModelError("FileErrorMessage", "File size must be within 512 KB");
         }
         string[] allowedType     = new string[] { "image/png", "image/gif", "image/jpeg", "image/jpg" };
         bool     isFileTypeValid = false;
         foreach (var i in allowedType)
         {
             if (file.ContentType == i.ToString())
             {
                 isFileTypeValid = true;
                 break;
             }
         }
         if (!isFileTypeValid)
         {
             ModelState.AddModelError("FileErrorMessage", "Only .png, .gif and .jpg file type allowed");
         }
     }
     #endregion
     #region// Validate Model & Save to Database
     if (ModelState.IsValid)
     {
         //Save here
         if (file != null)
         {
             string savePath = Server.MapPath("~/Image");
             string fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
             file.SaveAs(Path.Combine(savePath, fileName));
             c.ImagePath = fileName;
         }
         using (MyContactBookEntities dc = new MyContactBookEntities())
         {
             dc.Contacts.Add(c);
             dc.SaveChanges();
         }
         return(RedirectToAction("Index"));
     }
     else
     {
         return(View(c));
     }
     #endregion
 }
Пример #9
0
        public ActionResult Edit(Contact c, HttpPostedFileBase file)
        {
            #region//fetch country & state for dropdown

            List <Country> allCountry = new List <Country>();
            List <State>   states     = new List <State>();
            using (MyContactBookEntities dc = new MyContactBookEntities())
            {
                allCountry = dc.Countries.OrderBy(a => a.CountryName).ToList();
                if (c.CountryID > 0)
                {
                    states = dc.States.Where(a => a.CountryID.Equals(c.CountryID)).OrderBy(a => a.StateName).ToList();
                }
            }
            ViewBag.Country = new SelectList(allCountry, "CountryID", "CountryName", c.CountryID);
            ViewBag.State   = new SelectList(states, "StateID", "StateName", c.StateID);

            #endregion
            #region//validate file is selected
            if (file != null)
            {
                if (file.ContentLength > (512 * 1000)) // 512 KB
                {
                    ModelState.AddModelError("FileErrorMessage", "File size must be within 512KB");
                }
                string[] allowedType     = new string[] { "image/png", "image/gif", "image/jpg", "image/jpeg" };
                bool     isFileTypeValid = false;
                foreach (var i in allowedType)
                {
                    if (file.ContentType == i.ToString())
                    {
                        isFileTypeValid = true;
                        break;
                    }
                }
                if (!isFileTypeValid)
                {
                    ModelState.AddModelError("FileErrorMessage", "Only .png, .gif and .jpg file allowed");
                }
            }
            #endregion
            // Update Contact
            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    string savePath = Server.MapPath("~/image");
                    string fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
                    file.SaveAs(Path.Combine(savePath, fileName));
                    c.ImagePath = fileName;
                }

                using (MyContactBookEntities dc = new MyContactBookEntities())
                {
                    var v = dc.Contacts.Where(a => a.ContactID.Equals(c.ContactID)).FirstOrDefault();
                    if (v != null)
                    {
                        v.ContactPersonFname = c.ContactPersonFname;
                        v.ContactPersonLname = c.ContactPersonLname;
                        v.ContactNo1         = c.ContactNo1;
                        v.ContactNo2         = c.ContactNo2;
                        v.EmailID            = c.EmailID;
                        v.CountryID          = c.CountryID;
                        v.StateID            = c.StateID;
                        v.Address            = c.Address;
                        if (file != null)
                        {
                            v.ImagePath = c.ImagePath;
                        }
                    }
                    dc.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(c));
            }
        }