public void DTO2DB(DTO.OnlineFile dtoItem, ref OnlineFile dbItem, string TmpFile, int userId) { // file info AutoMapper.Mapper.Map <DTO.OnlineFile, OnlineFile>(dtoItem, dbItem); dbItem.UpdatedBy = userId; dbItem.UpdatedDate = DateTime.Now; // processing file if (dtoItem.HasChanged) { dbItem.FileUD = fwFactory.CreateNoneImageFilePointer(TmpFile, dtoItem.NewFile, dtoItem.FileUD, dtoItem.FriendlyName); } // file permission if (dtoItem.OnlineFilePermissions != null) { foreach (OnlineFilePermission dbPermission in dbItem.OnlineFilePermission.ToArray()) { if (!dtoItem.OnlineFilePermissions.Select(o => o.OnlineFilePermissionID).Contains(dbPermission.OnlineFilePermissionID)) { dbItem.OnlineFilePermission.Remove(dbPermission); } } foreach (DTO.OnlineFilePermission dtoPermission in dtoItem.OnlineFilePermissions.Where(o => o.OnlineFilePermissionID <= 0)) { OnlineFilePermission dbPermission = new OnlineFilePermission(); dbItem.OnlineFilePermission.Add(dbPermission); AutoMapper.Mapper.Map <DTO.OnlineFilePermission, OnlineFilePermission>(dtoPermission, dbPermission); } } }
public override bool UpdateData(int userId, int id, ref object dtoItem, out Library.DTO.Notification notification) { DTO.OnlineFile dtoFile = ((Newtonsoft.Json.Linq.JObject)dtoItem).ToObject <DTO.OnlineFile>(); notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; try { using (OnlineFileMngEntities context = CreateContext()) { OnlineFile dbItem = context.OnlineFile.FirstOrDefault(o => o.OnlineFileID == id); if (dbItem == null) { notification.Message = "File not found!"; return(false); } else { dbItem.UpdatedBy = userId; dbItem.UpdatedDate = DateTime.Now; converter.DTO2DB(dtoFile, ref dbItem, FrameworkSetting.Setting.AbsoluteUserTempFolder + userId.ToString() + @"\", userId); context.SaveChanges(); return(true); } } } catch (Exception ex) { notification = new Library.DTO.Notification() { Message = ex.Message, Type = Library.DTO.NotificationType.Error }; return(false); } }