public void DTO2DB_Update(DTO.ModuleStatusDTO dataItem, ref ModuleStatus dbItem) { AutoMapper.Mapper.Map <DTO.ModuleStatusDTO, ModuleStatus>(dataItem, dbItem); }
public override bool UpdateData(int userId, int id, ref object dtoItem, out Notification notification) { notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; DTO.ModuleStatusDTO dataItem = ((Newtonsoft.Json.Linq.JObject)dtoItem).ToObject <DTO.ModuleStatusDTO>(); try { using (var context = CreateContext()) { ModuleStatus dbItem; if (id > 0) { dbItem = context.ModuleStatus.FirstOrDefault(s => s.ModuleStatusID == id); if (dbItem == null) { notification.Type = NotificationType.Error; notification.Message = "Couldn't find this module status"; return(false); } } else { var listItem = context.ModuleStatus.Where(s => s.ModuleID == dataItem.ModuleID).ToList(); if (listItem != null && listItem.Count != 0) { int?x = 0; for (int i = 0; i < listItem.Count; i++) { var item = listItem[i]; if (item.StatusID > x) { x = item.StatusID; } } dataItem.StatusID = x + 1; } else { dataItem.StatusID = 1; } var listA = context.ModuleStatus.Where(s => s.ModuleID == dataItem.ModuleID && s.StatusUD == dataItem.StatusUD).ToList(); dbItem = listA.FirstOrDefault(); if (dbItem != null) { notification.Type = NotificationType.Error; notification.Message = "This Module status is existed" + dbItem.StatusNM; return(false); } dbItem = new ModuleStatus(); context.ModuleStatus.Add(dbItem); } converter.DTO2DB_Update(dataItem, ref dbItem); context.SaveChanges(); dtoItem = GetData(dbItem.ModuleStatusID, out notification).Data; return(true); } } catch (Exception ex) { notification.Type = NotificationType.Error; notification.Message = ex.Message; return(false); } }