コード例 #1
0
 public void DTO2DB_Update(DTO.ModuleStatusDTO dataItem, ref ModuleStatus dbItem)
 {
     AutoMapper.Mapper.Map <DTO.ModuleStatusDTO, ModuleStatus>(dataItem, dbItem);
 }
コード例 #2
0
        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);
            }
        }