public IHttpActionResult Update(int id, DTO.UserGroupMng.UserGroup dtoItem) { Library.DTO.Notification notification; // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (id > 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanUpdate)) { // edit case notification = new Library.DTO.Notification(); notification.Type = Library.DTO.NotificationType.Error; notification.Message = Properties.Resources.NOT_AUTHORIZED; return(Ok(new Library.DTO.ReturnData <DTO.UserGroupMng.UserGroup>() { Data = null, Message = notification })); } else if (id == 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanCreate)) { // create new case notification = new Library.DTO.Notification(); notification.Type = Library.DTO.NotificationType.Error; notification.Message = Properties.Resources.NOT_AUTHORIZED; return(Ok(new Library.DTO.ReturnData <DTO.UserGroupMng.UserGroup>() { Data = null, Message = notification })); } // validation if (!Helper.CommonHelper.ValidateDTO <DTO.UserGroupMng.UserGroup>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.UserGroupMng.UserGroup>() { Data = dtoItem, Message = notification })); } // continue processing BLL.UserGroupMng bll = new BLL.UserGroupMng(); bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); return(Ok(new Library.DTO.ReturnData <DTO.UserGroupMng.UserGroup>() { Data = dtoItem, Message = notification })); }
public void DTO2DB(DTO.UserGroupMng.UserGroup dtoItem, ref UserGroup dbItem) { // map fields AutoMapper.Mapper.Map <DTO.UserGroupMng.UserGroup, UserGroup>(dtoItem, dbItem); // map factory access if (dtoItem.Permissions != null) { // check for child rows deleted foreach (UserGroupPermission dbPermission in dbItem.UserGroupPermission.ToArray()) { if (!dtoItem.Permissions.Select(o => o.UserGroupPermissionID).Contains(dbPermission.UserGroupPermissionID)) { dbItem.UserGroupPermission.Remove(dbPermission); } } // map child rows foreach (DTO.UserGroupMng.UserGroupPermission dtoPermission in dtoItem.Permissions) { UserGroupPermission dbPermission; if (dtoPermission.UserGroupPermissionID <= 0) { dbPermission = new UserGroupPermission(); dbItem.UserGroupPermission.Add(dbPermission); } else { dbPermission = dbItem.UserGroupPermission.FirstOrDefault(o => o.UserGroupPermissionID == dtoPermission.UserGroupPermissionID); } if (dbPermission != null) { AutoMapper.Mapper.Map <DTO.UserGroupMng.UserGroupPermission, UserGroupPermission>(dtoPermission, dbPermission); } } } }