private void SaveInterests(Member Member, FormCollection fc)
        {
            try
            {
                string[] interestSelections = fc.GetValues("interests");

                //remove interests
                List <MemberInterest> toRemove = db.MemberInterest.Where(m => m.MemberID == Member.ID || m.MemberID == null).ToList <MemberInterest>();

                db.MemberInterest.RemoveRange(toRemove);

                //add interests
                for (int i = 0; i < interestSelections.Count(); i++)
                {
                    MemberInterest mi = new MemberInterest();
                    mi.MemberID   = (long)Member.ID;
                    mi.InterestID = Convert.ToInt16(interestSelections[i]);
                    db.MemberInterest.Add(mi);
                }

                db.SaveChanges();
            }
            catch (Exception ex)
            {
            }
        }
示例#2
0
        public ActionResult DeleteConfirmed(int id)
        {
            MemberInterest memberInterest = db.MemberInterests.Find(id);

            db.MemberInterests.Remove(memberInterest);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#3
0
        // GET: MemberInterests/Create
        public ActionResult Create()
        {
            ViewBag.MemberID          = new SelectList(db.Members, "MemberID", "IdentityType");
            ViewBag.ProductCategoryID = new SelectList(db.ProductCategories, "ProductCategoryID", "ProductCategoryCode");
            MemberInterest model = new MemberInterest();

            model = (MemberInterest)Helpers.TableTracker.TrackCreate(model, "USR");
            return(View(model));
        }
示例#4
0
 public ActionResult Edit([Bind(Include = "MemberInterestID,MemberID,ProductCategoryID,DateInserted,DateUpdated,USR")] MemberInterest memberInterest)
 {
     if (ModelState.IsValid)
     {
         db.Entry(memberInterest).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MemberID          = new SelectList(db.Members, "MemberID", "IdentityType", memberInterest.MemberID);
     ViewBag.ProductCategoryID = new SelectList(db.ProductCategories, "ProductCategoryID", "ProductCategoryCode", memberInterest.ProductCategoryID);
     return(View(memberInterest));
 }
示例#5
0
        // GET: MemberInterests/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MemberInterest memberInterest = db.MemberInterests.Find(id);

            if (memberInterest == null)
            {
                return(HttpNotFound());
            }
            return(View(memberInterest));
        }
示例#6
0
        // GET: MemberInterests/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MemberInterest model = db.MemberInterests.Find(id);

            model = (MemberInterest)Helpers.TableTracker.TrackEdit(model, "USR");
            if (model == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MemberID          = new SelectList(db.Members, "MemberID", "IdentityType", model.MemberID);
            ViewBag.ProductCategoryID = new SelectList(db.ProductCategories, "ProductCategoryID", "ProductCategoryCode", model.ProductCategoryID);
            return(View(model));
        }
        public Dictionary <string, string> MemberAccount(FormDataCollection formData)
        {
            Dictionary <string, string> result = new Dictionary <string, string>();

            AccountService service = new AccountService(db, UserManager);

            var user = this.User.Identity;

            if (user == null)
            {
                result.Add("Error", "Unathorized");
                return(result);
            }

            Member validateMember = service.findMember(user.Name);

            if (validateMember == null)
            {
                result.Add("Error", "Member not found");
                return(result);
            }

            bool dataUpdate = false;

            if (formData != null)
            {
                string memberID = formData.Get("memberID");
                if (memberID == null)
                {
                    result.Add("Error", "MemberID required.");
                    return(result);
                }

                int MemberID = Convert.ToInt32(memberID);

                if (MemberID != validateMember.MemberID)
                {
                    result.Add("Error", "MemberID does not match authenticated user");
                    return(result);
                }
                //  At this point, the authenticated user and memberID parameter have been successfully verified.

                // get member, Billing & postal (delivery) address and interests
                Member         member         = db.Members.Find(MemberID);
                Address        billAddress    = db.Addresses.Where(x => x.MemberID == member.MemberID && x.AddressType.ToLower().Equals("billing")).FirstOrDefault();
                Address        delAddress     = db.Addresses.Where(x => x.MemberID == member.MemberID && x.AddressType.ToLower().Equals("postal")).FirstOrDefault();
                MemberInterest memberInterest = member.MemberInterests.Where(x => x.MemberID == member.MemberID).FirstOrDefault();

                if (formData["name"] != null || formData["surname"] != null || formData["email"] != null || formData["gender"] != null || formData["dateOfBirth"] != null || formData["mobile"] != null | formData["ethnicGroup"] != null || formData["maritalStatus"] != null || formData["children"] != null || formData["industry"] != null || formData["designation"] != null)
                {
                    dataUpdate         = true;
                    member.DateUpdated = DateTime.Now;
                    // Perform member details updates
                    if (formData["name"] != null)
                    {
                        member.FirstName = formData.Get("name").Trim();
                    }

                    if (formData["surname"] != null)
                    {
                        member.LastName = formData.Get("surname").Trim();
                    }

                    if (formData["email"] != null)
                    {
                        member.EmailAddress = formData.Get("email").Trim();
                    }

                    if (formData["gender"] != null)
                    {
                        member.Gender = formData.Get("gender").Trim();
                    }

                    if (formData["dateOfBirth"] != null)
                    {
                        member.DateOfBirth = Convert.ToDateTime(formData.Get("dateOfBirth").Trim());
                    }

                    if (formData["mobile"] != null)
                    {
                        member.TelephoneMobile = formData.Get("mobile").Trim();
                    }

                    if (formData["ethnicGroup"] != null)
                    {
                        member.Ethnicity = formData.Get("ethnicGroup").Trim();
                    }

                    if (formData["maritalStatus"] != null)
                    {
                        member.MaritalStatus = formData.Get("maritalStatus").Trim();
                    }

                    if (formData["children"] != null)
                    {
                        member.Children = formData.Get("children").Trim();
                    }

                    if (formData["industry"] != null)
                    {
                        member.Industry = formData.Get("industry").Trim();
                    }

                    if (formData["designation"] != null)
                    {
                        member.Designation = formData.Get("designation").Trim();
                    }
                }
                bool addNewDelAddress = false;
                if (formData["countryDelivery"] != null || formData["stateDelivery"] != null || formData["cityDelivery"] != null || formData["postalDelivery"] != null || formData["addressLine1Delivery"] != null || formData["addressLine2Delivery"] != null)
                {
                    dataUpdate = true;
                    if (delAddress == null)
                    {
                        addNewDelAddress        = true;
                        delAddress              = new Address();
                        delAddress.AddressType  = "Postal";
                        delAddress.DateInserted = DateTime.Now;
                        delAddress.MemberID     = member.MemberID;
                        delAddress.USR          = "******";
                    }

                    delAddress.DateUpdated = DateTime.Now;
                    // perform delivery address information updates
                    if (formData["countryDelivery"] != null)
                    {
                        delAddress.Country = formData.Get("countryDelivery").Trim();
                    }

                    if (formData["stateDelivery"] != null)
                    {
                        delAddress.StateOrProvince = formData.Get("stateDelivery").Trim();
                    }

                    if (formData["cityDelivery"] != null)
                    {
                        delAddress.CityName = formData.Get("cityDelivery").Trim();
                    }

                    if (formData["postalDelivery"] != null)
                    {
                        delAddress.ZipOrPostalCode = formData.Get("postalDelivery").Trim();
                    }

                    if (formData["addressLine1Delivery"] != null)
                    {
                        delAddress.AddressLine1 = formData.Get("addressLine1Delivery").Trim();
                    }

                    if (formData["addressLine2Delivery"] != null)
                    {
                        delAddress.AddressLine2 = formData.Get("addressLine2Delivery").Trim();
                    }
                }

                bool addNewBillAddress = false;
                if (formData["countryBill"] != null || formData["stateBill"] != null || formData["cityBill"] != null || formData["postalBill"] != null || formData["addressLine1Bill"] != null || formData["addressLine2Bill"] != null)
                {
                    dataUpdate = true;
                    if (billAddress == null)
                    {
                        addNewBillAddress        = true;
                        billAddress              = new Address();
                        billAddress.AddressType  = "Billing";
                        billAddress.MemberID     = member.MemberID;
                        billAddress.USR          = "******";
                        billAddress.DateInserted = DateTime.Now;
                    }

                    billAddress.DateUpdated = DateTime.Now;
                    // perform billing address information updates
                    if (formData["countryBill"] != null)
                    {
                        billAddress.Country = formData.Get("countryBill").Trim();
                    }

                    if (formData["stateBill"] != null)
                    {
                        billAddress.StateOrProvince = formData.Get("stateBill").Trim();
                    }

                    if (formData["cityBill"] != null)
                    {
                        billAddress.CityName = formData.Get("cityBill").Trim();
                    }

                    if (formData["postalBill"] != null)
                    {
                        billAddress.ZipOrPostalCode = formData.Get("postalBill").Trim();
                    }

                    if (formData["addressLine1Bill"] != null)
                    {
                        billAddress.AddressLine1 = formData.Get("addressLine1Bill").Trim();
                    }

                    if (formData["addressLine2Bill"] != null)
                    {
                        billAddress.AddressLine2 = formData.Get("addressLine2Bill").Trim();
                    }
                }

                bool addNewMemberInterest = false;
                if (formData["interestAutomotive"] != null || formData["interestEntertainment"] != null || formData["interestFashion"] != null || formData["interestArt"] != null || formData["interestDecor"] != null || formData["interestExperiences"] != null || formData["interestAppliances"] != null || formData["interestBeauty"] != null || formData["interestTechnology"] != null || formData["interestToys"] != null || formData["interestDining"] != null || formData["interestTravel"] != null || formData["interestOther"] != null)
                {
                    dataUpdate = true;
                    if (memberInterest == null)
                    {
                        addNewMemberInterest        = true;
                        memberInterest              = new MemberInterest();
                        memberInterest.MemberID     = member.MemberID;
                        memberInterest.DateInserted = DateTime.Now;
                        memberInterest.USR          = "******";
                        // I don't know what this productCategory table is supposed to represent here.... making it a 1 for now.
                        memberInterest.ProductCategoryID = 1;
                    }

                    memberInterest.DateUpdated = DateTime.Now;
                    // perform interests update
                    if (formData["interestAutomotive"] != null)
                    {
                        memberInterest.MemberInterestAutomotive = Convert.ToBoolean(formData.Get("interestAutomotive").Trim());
                    }

                    if (formData["interestEntertainment"] != null)
                    {
                        memberInterest.MemberInterestEntertainment = Convert.ToBoolean(formData.Get("interestEntertainment").Trim());
                    }

                    if (formData["interestFashion"] != null)
                    {
                        memberInterest.MemberInterestFashionAccessories = Convert.ToBoolean(formData.Get("interestFashion").Trim());
                    }

                    if (formData["interestArt"] != null)
                    {
                        memberInterest.MemberInterestArtCollectibles = Convert.ToBoolean(formData.Get("interestArt").Trim());
                    }

                    if (formData["interestDecor"] != null)
                    {
                        memberInterest.MemberInterestDecorDesign = Convert.ToBoolean(formData.Get("interestDecor").Trim());
                    }

                    if (formData["interestExperiences"] != null)
                    {
                        memberInterest.MemberInterestExperiences = Convert.ToBoolean(formData.Get("interestExperiences").Trim());
                    }

                    if (formData["interestAppliances"] != null)
                    {
                        memberInterest.MemberInterestHomeAppliances = Convert.ToBoolean(formData.Get("interestAppliances").Trim());
                    }

                    if (formData["interestBeauty"] != null)
                    {
                        memberInterest.MemberInterestHealthBeauty = Convert.ToBoolean(formData.Get("interestBeauty").Trim());
                    }

                    if (formData["interestTechnology"] != null)
                    {
                        memberInterest.MemberInterestTechnology = Convert.ToBoolean(formData.Get("interestTechnology").Trim());
                    }

                    if (formData["interestToys"] != null)
                    {
                        memberInterest.MemberInterestToys = Convert.ToBoolean(formData.Get("interestToys").Trim());
                    }

                    if (formData["interestDining"] != null)
                    {
                        memberInterest.MemberInterestWiningDining = Convert.ToBoolean(formData.Get("interestDining").Trim());
                    }

                    if (formData["interestTravel"] != null)
                    {
                        memberInterest.MemberInterestTravel = Convert.ToBoolean(formData.Get("interestTravel").Trim());
                    }

                    if (formData["interestOther"] != null)
                    {
                        memberInterest.MemberInterestOther = formData.Get("interestOther").Trim();
                    }
                }

                if (!dataUpdate)
                {
                    // No updates to process, just return account detail.
                    Dictionary <string, string> accountDetails = new Dictionary <string, string>();

                    accountDetails.Add("name", member.FirstName.Trim());
                    accountDetails.Add("surname", member.LastName.Trim());

                    string email         = (member.EmailAddress != null) ? member.EmailAddress.Trim() : "";
                    string gender        = (member.Gender != null) ? member.Gender.Trim() : "";
                    string dob           = (member.DateOfBirth != null) ? ((DateTime)member.DateOfBirth).ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) : "";
                    string mobile        = (member.TelephoneMobile != null) ? member.TelephoneMobile.Trim() : "";
                    string ethnicGroup   = (member.Ethnicity != null) ? member.Ethnicity.Trim() : "";
                    string maritalStatus = (member.MaritalStatus != null) ? member.MaritalStatus.Trim() : "";
                    string children      = (member.Children != null) ? member.Children.Trim() : "";
                    string industry      = (member.Industry != null) ? member.Industry.Trim() : "";
                    string designation   = (member.Designation != null) ? member.Designation.Trim() : "";

                    accountDetails.Add("email", email);
                    accountDetails.Add("gender", gender);
                    accountDetails.Add("dateOfBirth", dob);
                    accountDetails.Add("mobile", mobile);
                    accountDetails.Add("ethnicGroup", ethnicGroup);
                    accountDetails.Add("maritalStatus", maritalStatus);
                    accountDetails.Add("children", children);
                    accountDetails.Add("industry", industry);
                    accountDetails.Add("designation", designation);

                    if (billAddress != null)
                    {
                        string countryBill      = (billAddress.Country != null) ? billAddress.Country.Trim() : "";
                        string stateBill        = (billAddress.StateOrProvince != null) ? billAddress.StateOrProvince.Trim() : "";
                        string cityBill         = (billAddress.CityName != null) ? billAddress.CityName.Trim() : "";
                        string postalBill       = (billAddress.ZipOrPostalCode != null) ? billAddress.ZipOrPostalCode.Trim() : "";
                        string addressLine1Bill = (billAddress.AddressLine1 != null) ? billAddress.AddressLine1.Trim() : "";
                        string addressLine2Bill = (billAddress.AddressLine2 != null) ? billAddress.AddressLine2.Trim() : "";

                        accountDetails.Add("countryBill", countryBill);
                        accountDetails.Add("stateBill", stateBill);
                        accountDetails.Add("cityBill", cityBill);
                        accountDetails.Add("postalBill", postalBill);
                        accountDetails.Add("addressLine1Bill", addressLine1Bill);
                        accountDetails.Add("addressLine2Bill", addressLine2Bill);
                    }

                    if (delAddress != null)
                    {
                        string countryDelivery      = (delAddress.Country != null) ? delAddress.Country.Trim() : "";
                        string stateDelivery        = (delAddress.StateOrProvince != null) ? delAddress.StateOrProvince.Trim() : "";
                        string cityDelivery         = (delAddress.CityName != null) ? delAddress.CityName.Trim() : "";
                        string postalDelivery       = (delAddress.ZipOrPostalCode != null) ? delAddress.ZipOrPostalCode.Trim() : "";
                        string addressLine1Delivery = (delAddress.AddressLine1 != null) ? delAddress.AddressLine1.Trim() : "";
                        string addressLine2Delivery = (delAddress.AddressLine2 != null) ? delAddress.AddressLine2.Trim() : "";

                        accountDetails.Add("countryDelivery", countryDelivery);
                        accountDetails.Add("stateDelivery", stateDelivery);
                        accountDetails.Add("cityDelivery", cityDelivery);
                        accountDetails.Add("postalDelivery", postalDelivery);
                        accountDetails.Add("addressLine1Delivery", addressLine1Delivery);
                        accountDetails.Add("addressLine2Delivery", addressLine2Delivery);
                    }

                    if (memberInterest != null)
                    {
                        string interestOther = (memberInterest.MemberInterestOther != null) ? memberInterest.MemberInterestOther.Trim() : "";

                        accountDetails.Add("interestAutomotive", memberInterest.MemberInterestAutomotive.ToString());
                        accountDetails.Add("interestEntertainment", memberInterest.MemberInterestEntertainment.ToString());
                        accountDetails.Add("interestFashion", memberInterest.MemberInterestFashionAccessories.ToString());
                        accountDetails.Add("interestArt", memberInterest.MemberInterestArtCollectibles.ToString());
                        accountDetails.Add("interestDecor", memberInterest.MemberInterestDecorDesign.ToString());
                        accountDetails.Add("interestExperiences", memberInterest.MemberInterestExperiences.ToString());
                        accountDetails.Add("interestAppliances", memberInterest.MemberInterestHomeAppliances.ToString());
                        accountDetails.Add("interestBeauty", memberInterest.MemberInterestHealthBeauty.ToString());
                        accountDetails.Add("interestTechnology", memberInterest.MemberInterestTechnology.ToString());
                        accountDetails.Add("interestToys", memberInterest.MemberInterestToys.ToString());
                        accountDetails.Add("interestDining", memberInterest.MemberInterestWiningDining.ToString());
                        accountDetails.Add("interestTravel", memberInterest.MemberInterestTravel.ToString());
                        accountDetails.Add("interestOther", interestOther);
                    }

                    return(accountDetails);
                }
                else
                {
                    try
                    {
                        if (addNewBillAddress)
                        {
                            db.Addresses.Add(billAddress);
                        }

                        if (addNewDelAddress)
                        {
                            db.Addresses.Add(delAddress);
                        }

                        if (addNewMemberInterest)
                        {
                            db.MemberInterests.Add(memberInterest);
                        }

                        db.SaveChanges();
                        result.Add("Success", "Successfully saved changes");
                        return(result);
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException e)
                    {
                        foreach (var eve in e.EntityValidationErrors)
                        {
                            Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                              eve.Entry.Entity.GetType().Name, eve.Entry.State);
                            foreach (var ve in eve.ValidationErrors)
                            {
                                System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                                   ve.PropertyName, ve.ErrorMessage);
                                result.Add("Property: " + ve.PropertyName, " Error: " + ve.ErrorMessage);
                            }
                        }
                        result.Add("Error", "During Save");
                        return(result);
                    }
                }
            }
            else
            {
                result.Add("Input Error", "No Valid Data");
            }
            return(result);
        }
示例#8
0
 private void UpdateInterest(MemberInterest interest, IDataGateway dataGateway)
 {
     dataGateway.Connection.Execute(@"update memberinterest set vkgroupid = @VkGroupId, vkmemberid = @VkMemberId, title = @Title, type = @Type where id = @Id", interest);
 }
示例#9
0
 private void InsertInterest(MemberInterest interest, IDataGateway dataGateway)
 {
     interest.Id = dataGateway.Connection.Query <int>(@"insert into memberinterest(vkgroupid, vkmemberid, title, type) values (@VkGroupId, @VkMemberId, @Title, @Type) RETURNING id", interest).First();
 }