コード例 #1
0
        public JsonResult DeleteGroup(int groupId, int index)                                   // index is group position on the page
        {
            var userId = UserId;

            using (var transaction = new TransactionScope())
            {
                List <Seat> assignedSeats = _ballroomService.CollectAssignedSeats(userId);     // has to be fetched before deleting group because inside seats table there is person id reference and delete rule is set to set null

                Group     groupToDelete = _groupService.GetToDelete(userId, groupId);
                GroupUndo undoModel     = CreateUnodModel(groupToDelete, assignedSeats, index);

                _groupService.Delete(groupToDelete);

                var undoCommand = new DeleteGroupUndoCommand {
                    Group = undoModel
                };
                Guid key = _undoService.RegisterUndoCommand(userId, undoCommand);

                transaction.Complete();

                string viewData = this.RenderPartialView("~/Views/Undo/_Undo.cshtml", new UndoModel {
                    Key = key, Description = undoCommand.Description
                });
                return(Json(viewData, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
        private GroupUndo CreateUnodModel(Group deletedData, List <Seat> assignedSeats, int index)
        {
            GroupUndo undoModel = _autoMapperService.MapGroupEntitiesUndo(deletedData);

            undoModel.Index = index;

            UpdateUndoModelWithAssignedSeat(undoModel.Persons, assignedSeats);
            return(undoModel);
        }
コード例 #3
0
 public Group MapGroupUndoModel(GroupUndo groupUndo)
 {
     return(Mapper.Map <GroupUndo, Group>(groupUndo));
 }