Ejemplo n.º 1
0
        public ActionResult Edit(int id, ContactInfoView model)
        {
            //0.0 检查model实体的属性的合法性
            if (ModelState.IsValid == false)
            {
                //验证失败,则应该跳转回edit.cshtml视图,同时增加一个错误提醒
                SetGlist();
                //向视图增加一个错误提醒,配合视图中的@Html.ValidateionSummary(true) 来使用
                ModelState.AddModelError("", "实体验证失败,请检查");

                return(View());
            }

            try
            {
                //1.0 通过EF的推荐方式 ,先查在修改
                phonebookEntities db = new phonebookEntities();
                //var entity = db.ContactInfo.FirstOrDefault(c => c.ID == id);
                //entity.CommonMobile = model.CommonMobile;
                //entity.ContactName = model.ContactName;
                //entity.GroupId = model.GroupId;
                //db.SaveChanges();

                //2.0 通过自定义实体的方式 ,先追加再修改状态
                //补全id属性的值
                model.ID = id;  //update ContactInfo set CommonMobile=,ContactName=,GroupId where iD=1
                //将model追加到EF容器中
                ContactInfo entity = new ContactInfo()
                {
                    ID           = model.ID,
                    GroupId      = model.GroupId,
                    ContactName  = model.ContactName,
                    CommonMobile = model.CommonMobile
                };
                //将entity追加到EF容器中
                System.Data.Entity.Infrastructure.DbEntityEntry enty = db.Entry(entity);
                //修改其状态
                enty.State = System.Data.EntityState.Unchanged;
                //将要修改的属性的IsModified设置成true
                enty.Property("CommonMobile").IsModified = true;
                enty.Property("ContactName").IsModified  = true;
                enty.Property("GroupId").IsModified      = true;
                //关闭EF的实体检查
                db.Configuration.ValidateOnSaveEnabled = false;

                //统一将sql语句发送给db执行
                db.SaveChanges();

                //直接跳转到 cinfo/index 页面
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                SetGlist();
                ModelState.AddModelError("", ex.Message);
                return(View());
            }
        }
Ejemplo n.º 2
0
        public void CreateContactInfo(ContactInfoView view)
        {
            //TODO Get related Mail Address From Configuration
            var mailAddress = Settings.GetSetting <string>("EmailContactRegardsTo");
            var subject     = string.Format("Contact Info - {0},{1}", view.LastName.ToUpperInvariant(), view.FirstName);
            var body        = new StringBuilder()
                              .AppendLine(string.Format("School : {0}", view.School.Value))
                              .AppendLine(string.Format("Email : <{0},{1}>{2}", view.LastName.ToUpperInvariant(), view.FirstName, view.Email))
                              .AppendLine(string.Format("Regards To: {0}", view.ContactRegard.Value))
                              .AppendLine(string.Format("Message: {0}", view.Message));

            MailService.SendMail(mailAddress, subject, body.ToString());
        }
Ejemplo n.º 3
0
        public ActionResult ContactInfo()
        {
            if (!CurrentUser.IsAuthenticated)
            {
                return(RedirectToAction("Login"));
            }
            var contactRegards = LookupService.ContactRegards().List.ToList();

            contactRegards.Insert(0, new KeyValuePair <long, string>(0, "What is this in regard to?"));
            ViewBag.ContactRegards = contactRegards;
            var view = new ContactInfoView
            {
                Email     = CurrentUser.Name,
                FirstName = CurrentUser.Data["FirstName"].ToString(),
                LastName  = CurrentUser.Data["LastName"].ToString()
            };

            return(View(view));
        }
Ejemplo n.º 4
0
        public ActionResult Add(ContactInfoView model)
        {
            System.Threading.Thread.Sleep(2000);        //实际项目中不能这么做
            //1.0 验证实体属性的值的合法性
            if (ModelState.IsValid == false)
            {
                //PhoneBookEntities db = new PhoneBookEntities();
                //var glist = db.GroupInfo.ToList();
                //SelectList slist = new SelectList(glist, "GroupId", "GroupName");
                //ViewBag.glist = slist;
                //return View();
                return(Json(new { status = 1, msg = "实体属性值的合法性验证失败" }));
            }

            //2.0
            try
            {
                ContactInfo entity = new ContactInfo()
                {
                    Account      = "1",
                    ContactId    = "1",
                    CommonMobile = model.CommonMobile,
                    ContactName  = model.ContactName,
                    GroupId      = model.GroupId,
                    IsDelete     = 0
                };

                phonebookEntities db = new phonebookEntities();
                db.ContactInfoes.Add(entity); //1、将entity追加到EF容器中, 2、修改状态类的状态为added
                db.SaveChanges();

                return(Json(new { status = 0, msg = "新增成功" }));
            }
            catch (Exception ex)
            {
                return(Json(new { status = 1, msg = ex.Message }));
            }
        }
Ejemplo n.º 5
0
        public ActionResult ContactInfo(ContactInfoView request)
        {
            if (!CurrentUser.IsAuthenticated)
            {
                return(RedirectToAction("Login"));
            }
            request.ContactRegard =
                new KeyValuePair <long, string>(Convert.ToInt64(Request["ContactRegard.Key"]), "");

            /*
             * var school = CurrentUser.Schools()
             *      .FirstOrDefault(d => d.Value == CurrentUser.CurrentSchoolId().ToString(CultureInfo.InvariantCulture));
             *
             * request.School =  new KeyValuePair<long, string>(CurrentUser.CurrentSchoolId(), school != null ? school.Text : "");
             */

            request.School    = new KeyValuePair <long, string>(CurrentUser.CurrentSchoolId(), CurrentUser.Data["SchoolName"].ToString());
            request.UserId    = Convert.ToInt32(CurrentUser.Data["UserId"]);
            request.Email     = CurrentUser.Name;
            request.FirstName = CurrentUser.Data["FirstName"].ToString();
            request.LastName  = CurrentUser.Data["LastName"].ToString();
            var response = SchoolService.CreateContactInfo(new CreateContactInfoRequest {
                ContactInfo = request
            });

            if (response.Result == Result.Success)
            {
                InfoMessage = "Message sent!";
                return(RedirectToAction("ContactInfo"));
            }
            var contactRegards = LookupService.ContactRegards().List.ToList();

            contactRegards.Insert(0, new KeyValuePair <long, string>(0, "Select Regards To"));
            ViewBag.ContactRegards = contactRegards;
            ErrorMessage           = response.Message;
            return(View(request));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 展开子节点
        /// </summary>
        /// <param name="stackPanel">父面板</param>
        /// <param name="parentDepartId">父部门ID</param>
        /// <param name="level">在第几层</param>
        private void RecursionLoadSource(StackPanel stackPanel, string parentDepartId, int level)
        {
            if (AntSdkService.AntSdkListContactsEntity == null)
            {
                return;
            }
            AsyncHandler.AsyncCall(Application.Current.Dispatcher, () =>
            {
                if (AntSdkService.AntSdkListContactsEntity.departs != null)
                {
                    List <AntSdkContact_Depart> departList =
                        AntSdkService.AntSdkListContactsEntity.departs.Where(c => c.parentDepartId == parentDepartId)
                        .ToList();
                    if (AntSdkService.AntSdkListContactsEntity.users != null)
                    {
                        if (stackPanel == null)
                        {
                            stackPanel = new StackPanel();
                        }
                        List <AntSdkContact_User> userList =
                            AntSdkService.AntSdkListContactsEntity.users.Where(c => c.departmentId == parentDepartId && c.status == 2)
                            .OrderBy(c => c.userId)
                            .ToList();
                        if (userList.Count > 0)
                        {
                            stackPanel?.Children.Clear();
                            foreach (AntSdkContact_User user in userList)
                            {
                                ContactInfoView contactInfo = new ContactInfoView(user, this.Container);
                                ContactInfoViewModel contactInfoViewModel =
                                    contactInfo.DataContext as ContactInfoViewModel;
                                var tempContactInfo = ContactInfoViewModelList.FirstOrDefault(m => m.User.userId == user.userId);
                                //if (tempContactInfo?.User != null && tempContactInfo.User.departmentId == user.departmentId) continue;
                                if (tempContactInfo?.User != null && tempContactInfo.User.departmentId != user.departmentId)
                                {
                                    tempContactInfo.User = user;
                                }
                                stackPanel.Children.Add(contactInfo);
                                if (Container == GlobalVariable.ContactInfoViewContainer.ContactListView)
                                {
                                    contactInfo.MouseDown += ModifyColorOnMouseClick;
                                }
                                else if (Container == GlobalVariable.ContactInfoViewContainer.GroupEditWindowViewLeft)
                                {
                                    GroupEditWindowViewModel groupEditVM = Owner as GroupEditWindowViewModel;
                                    if (groupEditVM?.GroupMemberList != null && groupEditVM.GroupMemberList.Select(c => c.User.userId).Contains(user.userId))
                                    {
                                        if (groupEditVM.OriginalMemberIds != null &&
                                            groupEditVM.OriginalMemberIds.Contains(user.userId))
                                        {
                                            contactInfoViewModel?.SetExistGroupMember();
                                        }
                                        else
                                        {
                                            contactInfoViewModel?.OnStateImageClickEventEvent(contactInfoViewModel, true);
                                        }
                                    }
                                }
                                else if (Container == GlobalVariable.ContactInfoViewContainer.MultiContactsSelectLeft)
                                {
                                    MultiContactsSelectViewModel vm = Owner as MultiContactsSelectViewModel;
                                    if (vm != null && vm.GroupMemberList != null &&
                                        vm.GroupMemberList.Select(c => c.User.userId).Contains(user.userId))
                                    {
                                        //if (vm.OriginalMemberIds != null && vm.OriginalMemberIds.Contains(user.userId))
                                        //{
                                        //    contactInfoViewModel.SetExistGroupMember();
                                        //}
                                        //else
                                        //{
                                        contactInfoViewModel?.OnStateImageClickEventEvent(contactInfoViewModel, true);
                                        //}
                                    }
                                }

                                if (contactInfoViewModel != null)
                                {
                                    contactInfoViewModel.PlaceholderWidth = 30;
                                    ContactInfoViewModelList.Add(contactInfoViewModel);
                                }
                            }
                        }
                        else if (stackPanel?.Children.Count > 0)
                        {
                            stackPanel?.Children.Clear();
                        }
                    }

                    if (departList.Count <= 0)
                    {
                        return;
                    }
                    foreach (AntSdkContact_Depart depart in departList)
                    {
                        AdddepartData(depart, stackPanel, level);
                    }
                }
            });
        }