public override bool UpdateData(int userId, int id, ref object dtoItem, out Library.DTO.Notification notification) { DTO.DevRequest dtoDevRequest = ((Newtonsoft.Json.Linq.JObject)dtoItem).ToObject <DTO.DevRequest>(); notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; try { using (DevRequestMngEntities context = CreateContext()) { DevRequest dbItem = null; if (id == 0) { dbItem = new DevRequest(); context.DevRequest.Add(dbItem); dbItem.DevRequestStatusID = 1; // PENDING } else { notification.Message = "Dev request not found!"; return(false); } converter.DTO2DB(dtoDevRequest, ref dbItem, FrameworkSetting.Setting.AbsoluteUserTempFolder + userId.ToString() + @"\", userId); // create history tracking DevRequestHistory dbHistory = new DevRequestHistory(); dbHistory.UpdatedBy = userId; dbHistory.UpdatedDate = DateTime.Now; dbHistory.ActionDescription = "REQUEST CREATED"; dbHistory.DevRequestHistoryActionID = 1; // 1 = CREATE dbItem.DevRequestHistory.Add(dbHistory); context.SaveChanges(); // send notify email to admin string emailSubject = "TASK REQUEST: [CREATED] " + dbItem.Title; string emailBody = ""; emailBody += "ID: " + dbItem.DevRequestID.ToString() + "<br/>"; emailBody += "TITLE: " + dbItem.Title + "<br/>"; emailBody += "REQUESTER: " + supportFactory.GetUsers().FirstOrDefault(o => o.UserId == userId).FullName + "<br/>"; emailBody += "DESCRIPTION: " + dbItem.Description + "<br/>"; SendNotification(context, dbItem, emailSubject, emailBody); dtoItem = GetData(dbItem.DevRequestID, out notification).Data; return(true); } } catch (Exception ex) { notification = new Library.DTO.Notification() { Message = ex.Message, Type = Library.DTO.NotificationType.Error }; return(false); } }
public void DTO2DB(DTO.DevRequest dtoItem, ref DevRequest dbItem, string TmpFile, int userId) { // request AutoMapper.Mapper.Map <DTO.DevRequest, DevRequest>(dtoItem, dbItem); // request file foreach (DTO.DevRequestFile dtoFile in dtoItem.DevRequestFiles.Where(o => o.HasChanged == true)) { // add file DevRequestFile dbFile = new DevRequestFile(); dbItem.DevRequestFile.Add(dbFile); AutoMapper.Mapper.Map <DTO.DevRequestFile, DevRequestFile>(dtoFile, dbFile); dbFile.FileUD = fwFactory.CreateNoneImageFilePointer(TmpFile, dtoFile.NewFile, dtoFile.FileUD, dtoFile.FriendlyName); } }