Example #1
0
        // GET: GroupActivityConfigs
        public ActionResult Index(string GroupId)
        {
            var configModel = new ConfigViewModel();
            var groupId     = byte.Parse(GroupId);
            var tempConfigs = new List <TempActivityConfig>();

            // load target group to configure
            configModel.GroupModel = _context.GroupModels
                                     .Where(m => m.GroupId == groupId)
                                     .FirstOrDefault();
            // load temp activities
            var tempActivities = _context.TempActivities
                                 .Where(m => m.IsRemoved == false)
                                 .OrderBy(m => m.SortOrder).ToList();

            var groupConfig = _context.GroupActivityConfig
                              .Where(m => m.GroupId == groupId).ToList();


            foreach (var item in tempActivities)
            {
                var newActivityConfig = new TempActivityConfig();
                //newActivityConfig
                newActivityConfig.TempActivityId = item.TempActivityId;
                newActivityConfig.TempModuleId   = item.TempModuleId;
                newActivityConfig.Title          = item.Title;
                newActivityConfig.Description    = item.Description;
                newActivityConfig.SortOrder      = item.SortOrder;

                var _config = groupConfig
                              .Where(m => m.GroupId == groupId && m.TempActivityId == item.TempActivityId)
                              .FirstOrDefault();

                if (_config != null)
                {
                    newActivityConfig.GroupActivityConfigId = _config.GroupActivityConfigId;
                    newActivityConfig.GroupId          = _config.GroupId;
                    newActivityConfig.IsLocked         = _config.IsLocked;
                    newActivityConfig.Remarks          = _config.Remarks;
                    newActivityConfig.CreatedBy        = GetFullName(_config.CreatedBy);
                    newActivityConfig.CreatedDateTime  = _config.CreatedDateTime;
                    newActivityConfig.ModifiedBy       = GetFullName(_config.ModifiedBy);
                    newActivityConfig.ModifiedDateTime = _config.ModifiedDateTime;
                }

                tempConfigs.Add(newActivityConfig);
            }


            configModel.TempActivitiesConfig = tempConfigs.OrderBy(m => m.SortOrder).ToList();


            return(View(configModel));
        }
Example #2
0
        public ActionResult SaveConfig(FormCollection fc)
        {
            var  tempConfigs = new List <TempActivityConfig>();
            var  groupId     = Request.Form["GroupId"];
            var  byteGroupId = byte.Parse(groupId);
            bool updateFlag  = false;


            // load temp activities
            var tempActivities = _context.TempActivities.Where(m => m.IsRemoved == false).ToList();

            var groupConfig = _context.GroupActivityConfig.Where(m => m.GroupId == byteGroupId).ToList();


            foreach (var item in tempActivities)
            {
                var  newActivityConfig = new TempActivityConfig();
                bool locker            = false;

                newActivityConfig.GroupId        = byteGroupId;
                newActivityConfig.TempActivityId = item.TempActivityId;
                newActivityConfig.TempModuleId   = item.TempModuleId;
                newActivityConfig.Title          = item.Title;
                newActivityConfig.Description    = item.Description;
                newActivityConfig.SortOrder      = item.SortOrder;

                var _config = groupConfig.Where(m => m.TempActivityId == item.TempActivityId).FirstOrDefault();

                var new_lock   = Request.Form["lock" + item.TempActivityId];
                var new_remark = Request.Form["remark" + item.TempActivityId];


                if (new_lock != "false")
                {
                    locker = true;
                }

                newActivityConfig.IsLocked = locker;
                newActivityConfig.Remarks  = new_remark.Trim();

                if (_config != null)
                {
                    updateFlag = true;
                    newActivityConfig.GroupActivityConfigId = _config.GroupActivityConfigId;
                    newActivityConfig.GroupId          = _config.GroupId;
                    newActivityConfig.IsLocked         = (locker != _config.IsLocked) ? locker : _config.IsLocked;
                    newActivityConfig.Remarks          = new_remark.Trim();
                    newActivityConfig.CreatedBy        = _config.CreatedBy;
                    newActivityConfig.CreatedDateTime  = _config.CreatedDateTime;
                    newActivityConfig.ModifiedBy       = _config.ModifiedBy;
                    newActivityConfig.ModifiedDateTime = _config.ModifiedDateTime;
                }

                tempConfigs.Add(newActivityConfig);
            }


            foreach (var item in tempConfigs)
            {
                var model = _context.GroupActivityConfig.Where(m => m.GroupActivityConfigId == item.GroupActivityConfigId).FirstOrDefault();

                if (model != null)
                {
                    model.IsLocked         = item.IsLocked;
                    model.Remarks          = item.Remarks;
                    model.ModifiedBy       = GetSessionUserId();
                    model.ModifiedDateTime = DateTime.Now;
                }
                else
                {
                    model = new GroupActivityConfig();

                    model.GroupId        = item.GroupId;
                    model.TempActivityId = item.TempActivityId;
                    model.IsLocked       = item.IsLocked;
                    model.Remarks        = item.Remarks;

                    model.CreatedBy        = (updateFlag) ? item.CreatedBy : GetSessionUserId();
                    model.CreatedDateTime  = (updateFlag) ? item.CreatedDateTime : DateTime.Now;
                    model.ModifiedBy       = GetSessionUserId();
                    model.ModifiedDateTime = DateTime.Now;
                }

                try
                {
                    if (updateFlag)
                    {
                        _context.Entry(model).State = EntityState.Modified;
                    }
                    else
                    {
                        _context.GroupActivityConfig.Add(model);
                    }

                    _context.SaveChanges();
                }
                catch (Exception ex)
                {
                    return(RedirectToAction("Index", new { @GroupId = groupId }).WithError(ex.Message));
                }
            }

            return(RedirectToAction("Index", new { @GroupId = groupId }).WithSuccess("Saved successfully!"));
        }