public GroupDetailModel AddGroups(GroupDetailModel groups, out Header header)
        {
            GroupDetailModel groupDetailModel = new GroupDetailModel();

            try
            {
                header           = GlobalHelper.ConstructHeader(Messages.GroupAddSucces);
                groupDetailModel = this.unitOfWork.GroupDetailRepository.AddGroups(groups);
                if (groupDetailModel == null)
                {
                    header = GlobalHelper.ConstructHeader(Messages.GroupAlready);
                }
                return(groupDetailModel);
            }
            catch (Exception ex)
            {
                logger.Error(ex.StackTrace.ToString());
                if (ex.Message.Contains("Adding Group Failed"))
                {
                    header = GlobalHelper.ConstructHeader(ex, Messages.GroupAddFailed);
                }
                else
                {
                    header = GlobalHelper.ConstructHeader(ex, Messages.Exception);
                }

                return(groupDetailModel);
            }
        }
 private GroupDetail ConvertGroupDetailModel(GroupDetail item, GroupDetailModel model)
 {
     item.GroupId    = item.GroupId;
     item.GroupName  = model.GroupName;
     item.ModifiedOn = DateTime.UtcNow;
     item.UserId     = model.UserId;
     item.ModifiedBy = model.UserId;
     return(item);
 }
Пример #3
0
        // GET: Group
        public ActionResult GroupDetail(string groupCode)
        {
            currentGroupCode = groupCode;
            GroupDetailModel gdm = null;
            GroupGetResponse ggr = _groupCom.GetGroup(groupCode);

            if (ggr != null)
            {
                gdm = new GroupDetailModel()
                {
                    CourseCode    = ggr.CourseCode,
                    GroupCode     = ggr.GroupCode,
                    GroupName     = ggr.GroupName,
                    GroupTypeCode = ggr.GroupTypeCode,
                    Objective     = ggr.Objective,
                    TimeZone      = ggr.TimeZone,
                    UserList      = new List <GroupUserModel>(),
                    GroupPosts    = new List <PostModel>()
                };
                foreach (var user in ggr.UserList)
                {
                    gdm.UserList.Add(new GroupUserModel()
                    {
                        emailId = user.emailId,
                        name    = user.name
                    });
                }
                foreach (var posts in ggr.GroupPosts)
                {
                    PostModel pm = new PostModel()
                    {
                        PostText   = posts.PostText,
                        TimePosted = posts.TimePosted,
                        UserName   = posts.UserName,
                    };
                    if (posts.ChildPosts != null && posts.ChildPosts.Count > 0)
                    {
                        pm.ChildPosts = new List <PostModel>();
                        foreach (var cp in posts.ChildPosts)
                        {
                            pm.ChildPosts.Add(new PostModel()
                            {
                                PostText   = cp.PostText,
                                TimePosted = cp.TimePosted,
                                UserName   = cp.UserName
                            });
                        }
                    }
                    gdm.GroupPosts.Add(pm);
                }
            }
            return(View(gdm));
        }
 private GroupDetail ConvertGroupDetailModel(GroupDetailModel item)
 {
     return(new GroupDetail
     {
         GroupName = item.GroupName,
         CreatedOn = DateTime.UtcNow,
         ModifiedOn = DateTime.UtcNow,
         UserId = item.UserId,
         CreatedBy = item.UserId,
         ModifiedBy = item.UserId,
     });
 }
Пример #5
0
        private GroupDetailModel GetGroupDetailModel(Parameters parameters)
        {
            var _user  = HttpContext.Session.GetSession <User>("User");
            var _group = _groupManager.GetGroupInfo(parameters.ID, _user?.ID);

            if (_group != null)
            {
                GroupDetailModel model = new GroupDetailModel();
                model.Group = _group;

                return(model);
            }

            return(null);
        }
        public GroupDetailModel DeactiveGroup(GroupDetailModel groups, out Header header)
        {
            GroupDetailModel groupDetailModel = new GroupDetailModel();

            try
            {
                header           = GlobalHelper.ConstructHeader();
                groupDetailModel = this.unitOfWork.GroupDetailRepository.DeactiveGroup(groups);
                return(groupDetailModel);
            }
            catch (Exception ex)
            {
                header = GlobalHelper.ConstructHeader(ex, Messages.DeleteData);
                logger.Error(ex.StackTrace.ToString());
                return(groupDetailModel);
            }
        }
        public GroupDetailModel DeactiveGroup(GroupDetailModel groups)
        {
            try
            {
                logger.Info("Deactive Group");
                GroupDetail item = this.dbContext.GroupDetails.SingleOrDefault(d => d.GroupId == groups.GroupId);
                item.isActive = false;
                this.dbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                this.LogError(ex);
                throw ex;
            }

            return(groups);
        }
 public GroupDetailModel ImportGroupAttendance(GroupDetailModel lstgroups, out Header header)
 {
     try
     {
         header    = GlobalHelper.ConstructHeader(Messages.GroupAddSucces);
         lstgroups = this.unitOfWork.GroupDetailRepository.ImportGroupAttendance(lstgroups);
         if (lstgroups == null)
         {
             header = GlobalHelper.ConstructHeader(Messages.Failed);
         }
         return(lstgroups);
     }
     catch (Exception ex)
     {
         logger.Error(ex.StackTrace.ToString());
         header = GlobalHelper.ConstructHeader(ex, Messages.Exception);
         return(lstgroups);
     }
 }
        public GroupDetailModel EditGroups(GroupDetailModel groups, out Header header)
        {
            GroupDetailModel groupDetailModel = new GroupDetailModel();

            try
            {
                header           = GlobalHelper.ConstructHeader(Messages.AddUserUpdatedMessage);
                groupDetailModel = this.unitOfWork.GroupDetailRepository.EditGroups(groups);
                if (groupDetailModel == null)
                {
                    header = GlobalHelper.ConstructHeader(Messages.GroupAlready);
                }
                return(groupDetailModel);
            }
            catch (Exception ex)
            {
                header = GlobalHelper.ConstructHeader(ex, Messages.Exception);
                logger.Error(ex.StackTrace.ToString());
                return(groupDetailModel);
            }
        }
Пример #10
0
        // POST: Group/Create
        public JsonResult CreateGroup(GroupDetailModel Group)
        {
            DataSet ds = new DataSet();

            object[] message = new object[1];
            try
            {
                if (Group != null & ModelState.IsValid)
                {
                    ds         = data.CreateGroup(Group);
                    message[0] = ds.Tables[0].Rows[0]["sMess"].ToString();
                }
            }
            catch (Exception ex)
            {
                message[0] = "Error: Không thêm được nhóm quyền!";
                CLog.LogError(CBase.GetDeepCaller(), CBase.GetDetailError(ex));
            }

            return(Json(new { mess = message }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Report()
        {
            List <GroupDetail> data = new List <GroupDetail>();
            XmlDocument        doc  = new XmlDocument();

            doc.Load(Server.MapPath("~/GroupDetail.xml"));
            XmlNode node = doc.SelectSingleNode("ADGroupDetail");



            // 得到根节点的所有子节点
            XmlNodeList xnl = node.ChildNodes;
            int         i   = 0;

            foreach (XmlNode xn1 in xnl)
            {
                GroupDetail group = new GroupDetail();
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值
                group.id   = i++;
                group.name = xe.GetAttribute("Name").ToString();

                XmlNodeList xnl0 = xe.ChildNodes;
                group.Createby   = xnl0.Item(0).InnerText;
                group.CreateTime = xnl0.Item(1).InnerText;

                data.Add(group);
            }
            GroupDetailModel GM = new GroupDetailModel()
            {
                groupdetail = data,
            };

            return(View(GM));
        }
Пример #12
0
 public async Task <ActionResult> GroupDetail(GroupDetailModel model)
 {
     return(View(model));
 }
        public List <GroupDetailModel> GetGroupsById(int userId, int groupId)
        {
            List <GroupDetailModel> groupDetailListModels = new List <GroupDetailModel>();

            try
            {
                var getValues = this.FindAll(x => x.UserId == userId && x.GroupId == groupId && x.isActive == true).ToList();

                if (getValues != null)
                {
                    foreach (var item in getValues)
                    {
                        GroupDetailModel groupDetailModel = new GroupDetailModel();
                        groupDetailModel.GroupId      = item.GroupId;
                        groupDetailModel.GroupName    = item.GroupName;
                        groupDetailModel.UserId       = userId;
                        groupDetailModel.UserInfoList =
                            (from us in dbContext.UserInfoes
                             join gsa in dbContext.GroupUserAssocs.Where(x => x.GroupId == item.GroupId) on
                             us.UserId equals gsa.UserId
                             select new UserModel()
                        {
                            UserId = us.UserId,
                            PhoneNumber = us.PhoneNumber,
                            FullName = us.FullName,
                            EmailId = us.EmailId,
                        }).ToList();
                        groupDetailModel.GroupUserAssocsList = (from gua in dbContext.GroupUserAssocs.Where(x => x.GroupId == item.GroupId)
                                                                join gd in dbContext.GroupDetails.Where(x => x.GroupId == item.GroupId) on gua.GroupId equals gd.GroupId
                                                                select new GroupUserAssocModel
                        {
                            GroupId = gua.GroupId,
                            GroupUserId = gua.GroupUserId
                        }).ToList();
                        groupDetailListModels.Add(groupDetailModel);
                    }
                }
                else
                {
                    return(null);
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
            {
                Exception raise = dbEx;
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        string message = string.Format("{0}:{1}:{2}",
                                                       validationErrors.Entry.Entity.ToString(),
                                                       validationError.ErrorMessage, validationError.PropertyName);
                        // raise a new exception nesting
                        // the current instance as InnerException
                        raise = new InvalidOperationException(message, raise);
                        this.LogInfo(message);
                    }
                }
                throw raise;
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                this.LogError(ex);
                throw ex;
            }
            return(groupDetailListModels);
        }
        public GroupDetailModel AddGroups(GroupDetailModel groups)
        {
            try
            {
                logger.Info("Add Group Respository");
                var group = dbContext.GroupDetails.Where(x => x.GroupName == groups.GroupName).FirstOrDefault();
                if (group != null)
                {
                    return(null);
                }
                else
                {
                    GroupDetail groupDetail = this.ConvertGroupDetailModel(groups);
                    groupDetail.isActive = true;
                    this.Add(groupDetail);
                    groups.GroupId = groupDetail.GroupId;
                    if (groupDetail.GroupId != 0)
                    {
                        foreach (var item in groups.UserInfoList)
                        {
                            var userValidate = this.unitOfWork.UserRepository.CheckingValidationsAndRetrunUser(item);
                            item.UserId           = userValidate.UserId;
                            item.UserErrorMessage = userValidate.UserErrorMessage;
                        }
                        if (groups.UserInfoList.Count > 0)
                        {
                            var bulkUpload = this.unitOfWork.UserRepository.BulkUserAddOrUopdate(groups.UserInfoList);

                            foreach (var item in bulkUpload.Where(x => x.isAssocationDeleted == false))
                            {
                                if (item.UserId != 0)
                                {
                                    dbContext.GroupUserAssocs.Add(
                                        new GroupUserAssoc()
                                    {
                                        GroupId      = groupDetail.GroupId,
                                        UserId       = item.UserId,
                                        CreatedDate  = DateTime.UtcNow,
                                        ModifiedDate = DateTime.UtcNow,
                                        IsActive     = true,
                                        ModifiedBy   = groupDetail.UserId,
                                    });
                                    dbContext.SaveChanges();
                                }
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Adding Group Failed");
                    }
                }

                return(groups);
            }
            catch (Exception ex)
            {
                logger.Error("Add Group Respository" + ex.Message);
                this.LogError(ex);
                groups = null;
                throw ex;
            }
        }
        public GroupDetailModel ImportGroupAttendance(GroupDetailModel groups)
        {
            try
            {
                logger.Info("Import Group Respository");
                var group = new GroupDetail();
                if (groups.GroupId != 0)
                {
                    group = dbContext.GroupDetails.Where(x => x.GroupId == groups.GroupId).FirstOrDefault();
                }
                else
                {
                    group = dbContext.GroupDetails.Where(x => x.GroupName == groups.GroupName).FirstOrDefault();
                }

                if (group == null)
                {
                    GroupDetail groupdDetailsEntitiy = this.Find(d => d.GroupId == groups.GroupId);
                    GroupDetail groupDetail          = this.ConvertGroupDetailModel(groupdDetailsEntitiy, groups);
                    this.Add(groupDetail);
                    groups.GroupId = groupDetail.GroupId;
                    if (groupDetail.GroupId != 0)
                    {
                        foreach (var item in groups.UserInfoList)
                        {
                            var userValidate = this.unitOfWork.UserRepository.CheckingValidationsAndRetrunUser(item);
                            item.UserId           = userValidate.UserId;
                            item.UserErrorMessage = userValidate.UserErrorMessage;
                        }
                        if (groups.UserInfoList.Count > 0)
                        {
                            var bulkUploadUserList = this.unitOfWork.UserRepository.BulkUserAddOrUopdate(groups.UserInfoList.Where(x => x.isAssocationDeleted == false).ToList());

                            foreach (var item in bulkUploadUserList)
                            {
                                if (item.UserId != 0)
                                {
                                    dbContext.GroupUserAssocs.Add(
                                        new GroupUserAssoc()
                                    {
                                        GroupId      = groupDetail.GroupId,
                                        UserId       = item.UserId,
                                        CreatedDate  = DateTime.UtcNow,
                                        ModifiedDate = DateTime.UtcNow,
                                        IsActive     = true,
                                        ModifiedBy   = groupDetail.UserId,
                                    });
                                }
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Group id not exits");
                    }
                }
                else
                {
                    GroupDetail groupDetail = this.ConvertGroupDetailModel(groups);
                    groupDetail.isActive = true;
                    this.Add(groupDetail);
                    groups.GroupId = groupDetail.GroupId;
                    if (groupDetail.GroupId != 0)
                    {
                        foreach (var item in groups.UserInfoList)
                        {
                            var userValidate = this.unitOfWork.UserRepository.CheckingValidationsAndRetrunUser(item);
                            item.UserId           = userValidate.UserId;
                            item.UserErrorMessage = userValidate.UserErrorMessage;
                        }

                        if (groups.UserInfoList.Count > 0)
                        {
                            var bulkUpload = this.unitOfWork.UserRepository.BulkUserAddOrUopdate(groups.UserInfoList.Where(x => x.isAssocationDeleted == false).ToList());

                            foreach (var item in bulkUpload)
                            {
                                if (item.UserId != 0)
                                {
                                    var assocation = dbContext.GroupUserAssocs.Where(x => x.UserId == item.UserId && x.GroupId == groupDetail.GroupId).FirstOrDefault();
                                    if (assocation == null)
                                    {
                                        dbContext.GroupUserAssocs.Add(
                                            new GroupUserAssoc()
                                        {
                                            GroupId      = groupDetail.GroupId,
                                            UserId       = item.UserId,
                                            CreatedDate  = DateTime.UtcNow,
                                            ModifiedDate = DateTime.UtcNow,
                                            IsActive     = true,
                                            ModifiedBy   = item.UserId,
                                        });
                                    }
                                    if (item.isAssocationDeleted)
                                    {
                                        dbContext.GroupUserAssocs.AddOrUpdate(
                                            new GroupUserAssoc()
                                        {
                                            GroupId      = groupDetail.GroupId,
                                            UserId       = item.UserId,
                                            CreatedDate  = DateTime.UtcNow,
                                            ModifiedDate = DateTime.UtcNow,
                                            IsActive     = false,
                                            ModifiedBy   = item.UserId,
                                        });
                                    }
                                }
                            }
                        }
                    }
                }
                return(groups);
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
            {
                Exception raise = dbEx;
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        string message = string.Format("{0}:{1}:{2}",
                                                       validationErrors.Entry.Entity.ToString(),
                                                       validationError.ErrorMessage, validationError.PropertyName);
                        // raise a new exception nesting
                        // the current instance as InnerException
                        raise = new InvalidOperationException(message, raise);
                        this.LogInfo(message);
                    }
                }
                throw raise;
            }
            catch (Exception ex)
            {
                logger.Error("import Group Respository" + ex.Message);
                this.LogError(ex);
                groups = null;
                throw ex;
            }
        }
        public GroupDetailModel EditGroups(GroupDetailModel groups)
        {
            try
            {
                logger.Info("Edit Group Respository");
                var value = dbContext.GroupDetails.Where(x => x.GroupName == groups.GroupName && x.GroupId != groups.GroupId).Count();

                if (value == 0)
                {
                    GroupDetail groupdDetailsEntitiy = this.Find(d => d.GroupId == groups.GroupId);
                    GroupDetail groupDetail          = this.ConvertGroupDetailModel(groupdDetailsEntitiy, groups);
                    groupDetail.isActive = true;
                    this.Update(groupDetail);
                    groups.GroupId = groupDetail.GroupId;
                    if (groupDetail.GroupId != 0)
                    {
                        foreach (var item in groups.UserInfoList)
                        {
                            var userValidate = this.unitOfWork.UserRepository.CheckingValidationsAndRetrunUser(item);
                            item.UserId           = userValidate.UserId;
                            item.UserErrorMessage = userValidate.UserErrorMessage;
                        }

                        if (groups.UserInfoList.Count > 0)
                        {
                            var bulkUpload = this.unitOfWork.UserRepository.BulkUserAddOrUopdate(groups.UserInfoList);

                            foreach (var item in bulkUpload.Where(x => x.isAssocationDeleted == false))
                            {
                                if (item.UserId != 0)
                                {
                                    var assocation = dbContext.GroupUserAssocs.Where(x => x.UserId == item.UserId && x.GroupId == groupDetail.GroupId).FirstOrDefault();
                                    if (assocation == null)
                                    {
                                        dbContext.GroupUserAssocs.Add(
                                            new GroupUserAssoc()
                                        {
                                            GroupId      = groupDetail.GroupId,
                                            UserId       = item.UserId,
                                            CreatedDate  = DateTime.UtcNow,
                                            ModifiedDate = DateTime.UtcNow,
                                            IsActive     = true,
                                            ModifiedBy   = item.UserId,
                                        });
                                        dbContext.SaveChanges();
                                    }
                                    if (item.isAssocationDeleted)
                                    {
                                        dbContext.GroupUserAssocs.AddOrUpdate(
                                            new GroupUserAssoc()
                                        {
                                            GroupId      = groupDetail.GroupId,
                                            UserId       = item.UserId,
                                            CreatedDate  = DateTime.UtcNow,
                                            ModifiedDate = DateTime.UtcNow,
                                            IsActive     = false,
                                            ModifiedBy   = item.UserId,
                                        });
                                        dbContext.SaveChanges();
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                this.LogError(ex);
                throw ex;
            }
            return(groups);
        }