コード例 #1
0
        public void UpdateByIoTDevieId(int iotDeviceId, Format_UpdateByIoTDevice parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                using (var dbEntityTransaction = dbEntity.Database.BeginTransaction())
                {
                    var existingDataList = (from c in dbEntity.IoTDeviceCommand
                                            where c.IoTDeviceId == iotDeviceId
                                            select c).ToList();
                    dbEntity.IoTDeviceCommand.RemoveRange(existingDataList);
                    dbEntity.SaveChanges();

                    if (parseData != null && parseData.DeviceCommandIdList != null)
                    {
                        List <IoTDeviceCommand> dataList = new List <IoTDeviceCommand>();
                        foreach (int commandId in parseData.DeviceCommandIdList)
                        {
                            dataList.Add(new IoTDeviceCommand
                            {
                                IoTDeviceId     = iotDeviceId,
                                DeviceCommandId = commandId
                            });
                        }
                        dbEntity.IoTDeviceCommand.AddRange(dataList);
                        dbEntity.SaveChanges();
                    }

                    dbEntityTransaction.Commit();
                }
            }
        }
コード例 #2
0
        public int Create(int companyId, Format_Create parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                CompanyInSubscriptionPlan newData = new CompanyInSubscriptionPlan();
                newData.CompanyID                 = companyId;
                newData.SubscriptionPlanID        = parseData.SubscriptionPlanId;
                newData.SubscriptionName          = parseData.SubscriptionName ?? "";
                newData.RatePer1KMessageIngestion = parseData.RatePer1KMessageIngestion;
                newData.RatePer1KMessageHotStore  = parseData.RatePer1KMessageHotStore;
                newData.RatePer1KMessageColdStore = parseData.RatePer1KMessageColdStore;

                newData.StartDate   = parseData.StartDate;
                newData.ExpiredDate = parseData.ExpiredDate;

                newData.MaxMessageQuotaPerDay = parseData.MaxMessageQuotaPerDay;

                newData.StoreHotMessage  = parseData.StoreHotMessage;
                newData.StoreColdMessage = parseData.StoreColdMessage;

                newData.CosmosDBConnectionString        = parseData.CosmosDBConnectionString ?? "";
                newData.CosmosDBName                    = parseData.CosmosDBName;
                newData.CosmosDBCollectionID            = parseData.CosmosDBColletionId;
                newData.CosmosDBCollectionTTL           = parseData.CosmosDBCollectionTTL;
                newData.CosmosDBCollectionReservedUnits = parseData.CosmosDBCollectionReservedUnits;

                newData.IoTHubConnectionString  = parseData.IoTHubConnectionString ?? "";
                newData.IoTHubConsumerGroup     = parseData.IoTHubConsumerGroup ?? "";
                newData.StorageConnectionString = parseData.StorageConnectionString ?? "";

                dbEntity.CompanyInSubscriptionPlan.Add(newData);
                dbEntity.SaveChanges();
                return(newData.Id);
            }
        }
コード例 #3
0
        public List <Format_Detail> GetAllByEventRuleCatalogId(int EventRuleCatalogId)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var L2Enty = from c in dbEntity.EventRuleItem.AsNoTracking()
                             where c.EventRuleCatalogId == EventRuleCatalogId
                             select c;

                //MessageElementParentName = s.MessageElement
                //MessageElementName = s.MessageElement1
                return(L2Enty.Select(s => new Format_Detail()
                {
                    Id = s.Id,
                    EventRuleCatalogId = s.EventRuleCatalogId,
                    Ordering = s.Ordering,
                    MessageElementParentId = s.MessageElementParentId,
                    MessageElementParentName = s.MessageElement == null ? "" : s.MessageElement.ElementName,
                    MessageElementId = s.MessageElementId,
                    MessageElementName = s.MessageElement1 == null ? "" : s.MessageElement1.ElementName,
                    EqualOperation = s.EqualOperation,
                    Value = s.Value,
                    BitWiseOperation = s.BitWiseOperation
                }).ToList <Format_Detail>());
            }
        }
コード例 #4
0
        public void Update(int id, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var existingData = dbEntity.DeviceCommandCatalog.Find(id);
                if (existingData == null)
                {
                    throw new CDSException(10403);
                }

                existingData.Name    = parseData.Name;
                existingData.Method  = parseData.Method;
                existingData.Content = parseData.Content;

                try
                {
                    dbEntity.SaveChanges();
                }
                catch (DbUpdateException ex)
                {
                    if (ex.InnerException.InnerException.Message.Contains("Cannot insert duplicate key"))
                    {
                        throw new CDSException(10404);
                    }
                    else
                    {
                        throw ex;
                    }
                }
            }
        }
コード例 #5
0
        public void Update(int id, Format_Update parseData, int companyId)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                //ExternalDashboard existingData = dbEntity.ExternalDashboard.Find(id);
                ExternalDashboard existingData = (from c in dbEntity.ExternalDashboard
                                                  where c.Id == id && c.CompanyId == companyId
                                                  select c).SingleOrDefault <ExternalDashboard>();
                if (existingData == null)
                {
                    throw new CDSException(10502);
                }

                if (parseData.Name != null)
                {
                    existingData.Name = parseData.Name;
                }

                if (parseData.Ordering > 0)
                {
                    existingData.Ordering = parseData.Ordering;
                }

                if (parseData.URL != null)
                {
                    existingData.URL = parseData.URL;
                }

                dbEntity.Entry(existingData).State = EntityState.Modified;
                dbEntity.SaveChanges();
            }
        }
コード例 #6
0
        public List <Format_Detail> GetAll()
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var L2Enty = from c in dbEntity.SubscriptionPlan.AsNoTracking()
                             select c;

                return(L2Enty.Select(s => new Format_Detail()
                {
                    Id = s.Id,
                    Name = s.Name,
                    Description = s.Description,
                    DefaultRatePer1KMessageIngestion = (double)s.DefaultRatePer1KMessageIngestion,
                    DefaultRatePer1KMessageHotStore = (double)s.DefaultRatePer1KMessageHotStore,
                    DefaultRatePer1KMessageColdStore = (double)s.DefaultRatePer1KMessageColdStore,
                    DefaultPlanDays = s.DefaultPlanDays,
                    DefaultMaxMessageQuotaPerDay = s.DefaultMaxMessageQuotaPerDay,
                    DefaultStoreHotMessage = (bool)s.DefaultStoreHotMessage,
                    DefaultStoreColdMessage = (bool)s.DefaultStoreColdMessage,
                    DefaultCosmosDBConnectionString = s.DefaultCosmosDBConnectionString,
                    DefaultCollectionTTL = (int)s.DefaultCollectionTTL,
                    DefaultCollectionReservedUnits = (int)s.DefaultCollectionReservedUnits,
                    DefaultIoTHubConnectionString = s.DefaultIoTHubConnectionString,
                    DefaultStorageConnectionString = s.DefaultStorageConnectionString
                }).ToList <Format_Detail>());
            }
        }
コード例 #7
0
        public int Create(Format_Create parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                SubscriptionPlan newData = new SubscriptionPlan();
                newData.Name        = parseData.Name;
                newData.Description = parseData.Description ?? "";
                newData.DefaultRatePer1KMessageIngestion = parseData.DefaultRatePer1KMessageIngestion ?? 0;
                newData.DefaultRatePer1KMessageHotStore  = parseData.DefaultRatePer1KMessageHotStore ?? 0;
                newData.DefaultRatePer1KMessageColdStore = parseData.DefaultRatePer1KMessageColdStore ?? 0;
                newData.DefaultPlanDays = parseData.DefaultPlanDays;
                newData.DefaultMaxMessageQuotaPerDay    = parseData.DefaultMaxMessageQuotaPerDay;
                newData.DefaultStoreHotMessage          = parseData.DefaultStoreHotMessage ?? false;
                newData.DefaultStoreColdMessage         = parseData.DefaultStoreColdMessage ?? false;
                newData.DefaultCosmosDBConnectionString = parseData.DefaultCosmosDBConnectionString ?? "";
                newData.DefaultCollectionTTL            = parseData.DefaultCollectionTTL ?? 86400;
                newData.DefaultCollectionReservedUnits  = parseData.DefaultCollectionReservedUnits ?? 400;
                newData.DefaultIoTHubConnectionString   = parseData.DefaultIoTHubConnectionString ?? "";
                newData.DefaultStorageConnectionString  = parseData.DefaultStorageConnectionString ?? "";

                dbEntity.SubscriptionPlan.Add(newData);
                dbEntity.SaveChanges();
                return(newData.Id);
            }
        }
コード例 #8
0
        public Format_Detail GetById(int id)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                WidgetCatalog existingData = (from c in dbEntity.WidgetCatalog.AsNoTracking()
                                              where c.Id == id
                                              select c).SingleOrDefault <WidgetCatalog>();
                if (existingData == null)
                {
                    throw new CDSException(10701);
                }

                return(new Format_Detail()
                {
                    Id = existingData.Id,
                    MessageCatalogId = existingData.MessageCatalogID,
                    MessageCatalogName = existingData.MessageCatalog == null ? "" : existingData.MessageCatalog.Name,
                    Name = existingData.Name,
                    Level = existingData.Level,
                    WidgetClassKey = existingData.WidgetClassKey,
                    Title = existingData.Title,
                    TitleBgColor = existingData.TitleBgColor,
                    Content = JObject.Parse(existingData.Content),
                    ContentBgColor = existingData.ContentBgColor
                });
            }
        }
コード例 #9
0
        public int Create(int companyId, Format_Create parseData)
        {
            try
            {
                JObject.Parse(parseData.Content);
            }
            catch
            {
                throw new CDSException(12303);
            }

            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                WidgetCatalog newData = new WidgetCatalog();
                newData.CompanyID        = companyId;
                newData.MessageCatalogID = parseData.MessageCatalogId;
                newData.Name             = parseData.Name;
                newData.Level            = parseData.Level;
                newData.WidgetClassKey   = parseData.WidgetClassKey;
                newData.Title            = parseData.Title;
                newData.TitleBgColor     = parseData.TitleBgColor ?? "";
                newData.Content          = parseData.Content;
                newData.ContentBgColor   = parseData.ContentBgColor ?? "";

                dbEntity.WidgetCatalog.Add(newData);
                dbEntity.SaveChanges();
                return(newData.Id);
            }
        }
コード例 #10
0
        public void Update(int id, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var existingData = dbEntity.MessageElement.Find(id);
                if (existingData == null)
                {
                    throw new CDSException(10701);
                }

                if (parseData.ElementName != null)
                {
                    existingData.ElementName = parseData.ElementName;
                }

                if (parseData.ElementDataType != null)
                {
                    existingData.ElementDataType = parseData.ElementDataType;
                }

                if (parseData.MandatoryFlag.HasValue)
                {
                    existingData.MandatoryFlag = (bool)parseData.MandatoryFlag;
                }

                //ChildMessageCatalogID may be null or integer
                existingData.ChildMessageCatalogID = parseData.ChildMessageCatalogID;

                dbEntity.SaveChanges();
            }
        }
コード例 #11
0
        public List <Format_Detail> getAllWidgetCatalogByCompanyId(int companyId, string level)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var L2Enty = from c in dbEntity.WidgetCatalog.AsNoTracking()
                             where c.CompanyID == companyId && c.Level == level
                             select c;

                List <WidgetCatalog> widgetClassList = (from c in dbEntity.WidgetCatalog.AsNoTracking()
                                                        where c.CompanyID == companyId && c.Level == level
                                                        select c).ToList();

                List <Format_Detail> returnData = new List <Format_Detail>();
                foreach (var widgetClass in widgetClassList)
                {
                    returnData.Add(new Format_Detail()
                    {
                        Id = widgetClass.Id,
                        MessageCatalogId   = widgetClass.MessageCatalogID,
                        MessageCatalogName = widgetClass.MessageCatalog == null ? "" : widgetClass.MessageCatalog.Name,
                        Name           = widgetClass.Name,
                        Level          = widgetClass.Level,
                        WidgetClassKey = widgetClass.WidgetClassKey,
                        Title          = widgetClass.Title,
                        TitleBgColor   = widgetClass.TitleBgColor,
                        Content        = JObject.Parse(widgetClass.Content),
                        ContentBgColor = widgetClass.ContentBgColor
                    });
                }
                return(returnData);
            }
        }
コード例 #12
0
        public Format_Detail GetById(int id)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                DeviceCertificate existingData = (from c in dbEntity.DeviceCertificate.AsNoTracking()
                                                  where c.Id == id
                                                  select c).SingleOrDefault <DeviceCertificate>();

                if (existingData == null)
                {
                    throw new CDSException(10401);
                }

                return(new Format_Detail()
                {
                    Id = existingData.Id,
                    Name = existingData.Name,
                    CertFile = existingData.CertFile,
                    KeyFile = existingData.KeyFile,
                    Thumbprint = existingData.Thumbprint,
                    Password = existingData.Password,
                    ExpiredAt = existingData.ExpiredAt
                });
            }
        }
コード例 #13
0
        public void Update(int id, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var existingData = dbEntity.MessageCatalog.Find(id);
                if (existingData == null)
                {
                    throw new CDSException(10701);
                }

                if (parseData.Name != null)
                {
                    existingData.Name = parseData.Name;
                }

                if (parseData.Description != null)
                {
                    existingData.Description = parseData.Description;
                }

                if (parseData.MonitorFrequenceInMinSec.HasValue)
                {
                    existingData.MonitorFrequenceInMinSec = (int)parseData.MonitorFrequenceInMinSec;
                }

                if (parseData.ChildMessageFlag.HasValue)
                {
                    existingData.ChildMessageFlag = (bool)parseData.ChildMessageFlag;
                }

                dbEntity.SaveChanges();
            }
        }
コード例 #14
0
        public DocDB_AlarmMessageModels(int companyId)
        {
            CDStudioEntities dbEnty       = new CDStudioEntities();
            CompanyModel     companyModel = new CompanyModel();
            var companySubscription       = companyModel.GetValidSubscriptionPlanByCompanyId(companyId);

            if (companySubscription == null)
            {
                throw new Exception("No valid subscription plan.");
            }

            _ConnectionString = companyModel.GetValidSubscriptionPlanByCompanyId(companyId).CosmosDBConnectionString;
            _DBName           = "db" + companyId;
            _CollecitonName   = companyId.ToString();
            _CollectionLink   = UriFactory.CreateDocumentCollectionUri(_DBName, _CollecitonName);

            try
            {
                //init DocumentClient
                _ConnectionString = _ConnectionString.Replace("AccountEndpoint=", "");
                _ConnectionString = _ConnectionString.Replace(";", "");
                _ConnectionString = _ConnectionString.Replace("AccountKey=", ";");
                string endpointUri = _ConnectionString.Split(';')[0];
                string primaryKey  = _ConnectionString.Split(';')[1];
                _Client = new DocumentClient(new Uri(endpointUri), primaryKey);
            }
            catch (Exception ex)
            {
                throw new Exception("Initial DocumentClient failed: " + ex.Message);
            }
        }
コード例 #15
0
ファイル: IoTHubModel.cs プロジェクト: KevinKao809/CDS20
        public Format_Detail GetById(int id)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                IoTHub existingData = (from c in dbEntity.IoTHub.AsNoTracking()
                                       where c.Id == id
                                       select c).SingleOrDefault <IoTHub>();

                if (existingData == null)
                {
                    throw new CDSException(10901);
                }

                return(new Format_Detail()
                {
                    Id = existingData.Id,
                    IoTHubName = existingData.IoTHubName,
                    Description = existingData.Description,
                    CompanyName = existingData.Company == null ? "" : existingData.Company.Name,
                    IoTHubEndPoint = existingData.IoTHubEndPoint,
                    IoTHubConnectionString = existingData.IoTHubConnectionString,
                    EventConsumerGroup = existingData.EventConsumerGroup,
                    EventHubStorageConnectionString = existingData.EventHubStorageConnectionString,
                    UploadContainer = existingData.UploadContainer,
                    EnableMultipleReceiver = existingData.EnableMultipleReceiver
                });
            }
        }
コード例 #16
0
        public List <Format_Detail> GetAllByCompanyId(int companyId)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                List <Application> applicationList = (from c in dbEntity.Application.AsNoTracking()
                                                      where c.CompanyId == companyId
                                                      select c).ToList <Application>();

                List <Format_Detail> returnDataList = new List <Format_Detail>();
                foreach (var application in applicationList)
                {
                    returnDataList.Add(new Format_Detail()
                    {
                        Id              = application.Id,
                        Name            = application.Name,
                        Description     = application.Description,
                        MessageTemplate = JObject.Parse(application.MessageTemplate),
                        TargetType      = application.TargetType,
                        Method          = application.Method,
                        ServiceURL      = application.ServiceURL,
                        AuthType        = application.AuthType,
                        AuthID          = application.AuthID,
                        AuthPW          = application.AuthPW,
                        TokenURL        = application.TokenURL,
                        HeaderValues    = application.HeaderValues
                    });
                }

                return(returnDataList);
            }
        }
コード例 #17
0
ファイル: IoTHubModel.cs プロジェクト: KevinKao809/CDS20
 public int Create(int companyId, Format_Create parseData)
 {
     using (CDStudioEntities dbEntity = new CDStudioEntities())
     {
         IoTHub newData = new IoTHub()
         {
             IoTHubName                      = parseData.IoTHubName,
             Description                     = parseData.Description ?? "",
             CompanyID                       = companyId,
             IoTHubEndPoint                  = parseData.IoTHubEndPoint ?? "",
             IoTHubConnectionString          = parseData.IoTHubConnectionString ?? "",
             EventConsumerGroup              = parseData.EventConsumerGroup ?? "",
             EventHubStorageConnectionString = parseData.EventHubStorageConnectionString ?? "",
             UploadContainer                 = parseData.UploadContainer ?? "",
             EnableMultipleReceiver          = parseData.EnableMultipleReceiver
         };
         dbEntity.IoTHub.Add(newData);
         try
         {
             dbEntity.SaveChanges();
         }
         catch (DbUpdateException ex)
         {
             if (ex.InnerException.InnerException.Message.Contains("Cannot insert duplicate key"))
             {
                 throw new CDSException(10905);
             }
             else
             {
                 throw ex;
             }
         }
         return(newData.Id);
     }
 }
コード例 #18
0
        public Format_Detail GetById(int id)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                Application application = (from c in dbEntity.Application.AsNoTracking()
                                           where c.Id == id
                                           select c).SingleOrDefault <Application>();

                if (application == null)
                {
                    throw new CDSException(10102);
                }

                return(new Format_Detail()
                {
                    Id = application.Id,
                    Name = application.Name,
                    Description = application.Description,
                    MessageTemplate = JObject.Parse(application.MessageTemplate),
                    TargetType = application.TargetType,
                    Method = application.Method,
                    ServiceURL = application.ServiceURL,
                    AuthType = application.AuthType,
                    AuthID = application.AuthID,
                    AuthPW = application.AuthPW,
                    TokenURL = application.TokenURL,
                    HeaderValues = application.HeaderValues
                });
            }
        }
コード例 #19
0
        public Format_Detail GetById(int id)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                SubscriptionPlan existingData = (from c in dbEntity.SubscriptionPlan.AsNoTracking()
                                                 where c.Id == id
                                                 select c).SingleOrDefault <SubscriptionPlan>();
                if (existingData == null)
                {
                    throw new CDSException(10701);
                }

                return(new Format_Detail()
                {
                    Id = existingData.Id,
                    Name = existingData.Name,
                    Description = existingData.Description,
                    DefaultRatePer1KMessageIngestion = (double)existingData.DefaultRatePer1KMessageIngestion,
                    DefaultRatePer1KMessageHotStore = (double)existingData.DefaultRatePer1KMessageHotStore,
                    DefaultRatePer1KMessageColdStore = (double)existingData.DefaultRatePer1KMessageColdStore,
                    DefaultPlanDays = existingData.DefaultPlanDays,
                    DefaultMaxMessageQuotaPerDay = existingData.DefaultMaxMessageQuotaPerDay,
                    DefaultStoreHotMessage = (bool)existingData.DefaultStoreHotMessage,
                    DefaultStoreColdMessage = (bool)existingData.DefaultStoreColdMessage,
                    DefaultCosmosDBConnectionString = existingData.DefaultCosmosDBConnectionString,
                    DefaultCollectionTTL = (int)existingData.DefaultCollectionTTL,
                    DefaultCollectionReservedUnits = (int)existingData.DefaultCollectionReservedUnits,
                    DefaultIoTHubConnectionString = existingData.DefaultIoTHubConnectionString,
                    DefaultStorageConnectionString = existingData.DefaultStorageConnectionString
                });
            }
        }
コード例 #20
0
        public int Create(int companyId, Format_Create parseData)
        {
            try
            {
                JObject.Parse(parseData.MessageTemplate);
            }
            catch
            {
                throw new CDSException(10103);
            }

            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                Application newApplication = new Application()
                {
                    Name            = parseData.Name,
                    Description     = parseData.Description ?? "",
                    CompanyId       = companyId,
                    MessageTemplate = parseData.MessageTemplate ?? "{}",
                    TargetType      = parseData.TargetType,
                    Method          = parseData.Method,
                    ServiceURL      = parseData.ServiceURL,
                    AuthType        = parseData.AuthType,
                    AuthID          = parseData.AuthID ?? "",
                    AuthPW          = parseData.AuthPW ?? "",
                    TokenURL        = parseData.TokenURL ?? "",
                    HeaderValues    = parseData.HeaderValues ?? ""
                };
                dbEntity.Application.Add(newApplication);
                dbEntity.SaveChanges();
                return(newApplication.Id);
            }
        }
コード例 #21
0
        public void Update(int id, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var existingIoTDeviceCustomizedConfiguration = dbEntity.IoTDeviceCustomizedConfiguration.Find(id);
                if (existingIoTDeviceCustomizedConfiguration == null)
                {
                    throw new CDSException(10701);
                }

                if (parseData.Name != null)
                {
                    existingIoTDeviceCustomizedConfiguration.Name = parseData.Name;
                }

                if (parseData.DataType != null)
                {
                    existingIoTDeviceCustomizedConfiguration.DataType = parseData.DataType;
                }

                if (parseData.Description != null)
                {
                    existingIoTDeviceCustomizedConfiguration.Description = parseData.Description;
                }

                if (parseData.DefaultValue != null)
                {
                    existingIoTDeviceCustomizedConfiguration.DefaultValue = parseData.DefaultValue;
                }

                dbEntity.SaveChanges();
            }
        }
コード例 #22
0
ファイル: UserRoleModel.cs プロジェクト: KevinKao809/CDS20
        public Format_Detail GetById(int id)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var L2Enty = from c in dbEntity.UserRole.AsNoTracking()
                             where c.Id == id
                             select c;

                Format_Detail returnData = L2Enty.Select(s => new Format_Detail()
                {
                    Id   = s.Id,
                    Name = s.Name
                }).SingleOrDefault <Format_Detail>();

                if (returnData == null)
                {
                    throw new CDSException(12103);
                }

                UserRolePermissionModel model = new UserRolePermissionModel();
                returnData.PermissionCatalogList = model.GetAllByUserRoleId(id);

                return(returnData);
            }
        }
コード例 #23
0
        public int Create(int companyId, Format_Create parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                DeviceCommandCatalog newData = new DeviceCommandCatalog();
                newData.CompanyId = companyId;
                newData.Name      = parseData.Name;
                newData.Method    = parseData.Method;
                newData.Content   = parseData.Content ?? "";

                dbEntity.DeviceCommandCatalog.Add(newData);
                try
                {
                    dbEntity.SaveChanges();
                }
                catch (DbUpdateException ex)
                {
                    if (ex.InnerException.InnerException.Message.Contains("Cannot insert duplicate key"))
                    {
                        throw new CDSException(10404);
                    }
                    else
                    {
                        throw ex;
                    }
                }
                return(newData.Id);
            }
        }
コード例 #24
0
ファイル: UserRoleModel.cs プロジェクト: KevinKao809/CDS20
        public int Create(int companyId, Format_Create parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                UserRole newData = new UserRole();
                newData.CompanyId = companyId;
                newData.Name      = parseData.Name;

                try
                {
                    dbEntity.UserRole.Add(newData);
                    dbEntity.SaveChanges();
                }
                catch
                {
                    throw new CDSException(12104);
                }

                int userRoleId = newData.Id;

                if (parseData.PermissionCatalogCode != null)
                {
                    UserRolePermissionModel model = new UserRolePermissionModel();
                    model.CreateManyByUserRoleId(userRoleId, parseData.PermissionCatalogCode);
                }

                return(newData.Id);
            }
        }
コード例 #25
0
        public List <Format_Detail> GetAllByCompanyId(int companyId)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var L2Enty = from c in dbEntity.CompanyInSubscriptionPlan.AsNoTracking()
                             where c.CompanyID == companyId
                             select c;

                return(L2Enty.Select(s => new Format_Detail()
                {
                    Id = s.Id,
                    SubscriptionPlanId = s.SubscriptionPlanID,
                    SubscriptionName = s.SubscriptionName,
                    RatePer1KMessageIngestion = (double)s.RatePer1KMessageIngestion,
                    RatePer1KMessageHotStore = (double)s.RatePer1KMessageHotStore,
                    RatePer1KMessageColdStore = (double)s.RatePer1KMessageColdStore,

                    StartDate = s.StartDate,
                    ExpiredDate = s.ExpiredDate,
                    MaxMessageQuotaPerDay = s.MaxMessageQuotaPerDay,
                    StoreHotMessage = s.StoreHotMessage,
                    StoreColdMessage = s.StoreColdMessage,

                    CosmosDBConnectionString = s.CosmosDBConnectionString,
                    CosmosDBName = s.CosmosDBName,
                    CosmosDBColletionId = s.CosmosDBCollectionID,
                    CosmosDBCollectionTTL = (int)s.CosmosDBCollectionTTL,
                    CosmosDBCollectionReservedUnits = (int)s.CosmosDBCollectionReservedUnits,

                    IoTHubConnectionString = s.IoTHubConnectionString,
                    IoTHubConsumerGroup = s.IoTHubConsumerGroup,
                    StorageConnectionString = s.StorageConnectionString
                }).ToList <Format_Detail>());
            }
        }
コード例 #26
0
ファイル: UserRoleModel.cs プロジェクト: KevinKao809/CDS20
        public void Update(int userRoleId, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                UserRole existingData = dbEntity.UserRole.Find(userRoleId);
                if (existingData == null)
                {
                    throw new CDSException(12103);
                }

                if (existingData.Name != parseData.Name)
                {
                    try
                    {
                        existingData.Name = parseData.Name;
                        dbEntity.SaveChanges();
                    }
                    catch
                    {
                        throw new CDSException(12104);
                    }
                }

                //adjust user role's permission
                UserRolePermissionModel model = new UserRolePermissionModel();
                model.DeleteAllByUserRoleId(userRoleId);

                if (parseData.PermissionCatalogCode != null)
                {
                    model.CreateManyByUserRoleId(userRoleId, parseData.PermissionCatalogCode);
                }
            }
        }
コード例 #27
0
        public void UpdateAllByEventRuleCatalogId(int EventRuleCatalogId, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                //Delete all existing ruleItem
                List <EventRuleItem> existingDataList = (from c in dbEntity.EventRuleItem
                                                         where c.EventRuleCatalogId == EventRuleCatalogId
                                                         select c).ToList <EventRuleItem>();
                dbEntity.EventRuleItem.RemoveRange(existingDataList);
                dbEntity.SaveChanges();

                if (parseData.Rule.Count > 0)
                {
                    foreach (var rule in parseData.Rule)
                    {
                        dbEntity.EventRuleItem.Add(new EventRuleItem()
                        {
                            EventRuleCatalogId     = EventRuleCatalogId,
                            Ordering               = rule.Ordering,
                            MessageElementParentId = rule.MessageElementParentId,
                            MessageElementId       = rule.MessageElementId,
                            EqualOperation         = rule.EqualOperation,
                            Value            = rule.Value,
                            BitWiseOperation = rule.BitWiseOperation
                        });
                    }
                    dbEntity.SaveChanges();
                }
            }
        }
コード例 #28
0
        public void UpdateByEquipmentClassId(int equipmentClassId, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var existingData = from c in dbEntity.EquipmentClassMessageCatalog
                                   where c.EquipmentClassID == equipmentClassId
                                   select c;
                dbEntity.EquipmentClassMessageCatalog.RemoveRange(existingData);

                if (parseData.MessageCatalogId != null)
                {
                    List <EquipmentClassMessageCatalog> newDataList = new List <EquipmentClassMessageCatalog>();
                    foreach (int messageCatalogId in parseData.MessageCatalogId)
                    {
                        newDataList.Add(new EquipmentClassMessageCatalog()
                        {
                            EquipmentClassID = equipmentClassId,
                            MessageCatalogID = messageCatalogId
                        });
                    }
                    dbEntity.EquipmentClassMessageCatalog.AddRange(newDataList);
                }

                dbEntity.SaveChanges();
            }
        }
コード例 #29
0
        public void Update(int id, Format_Update parseData)
        {
            using (CDStudioEntities dbEntity = new CDStudioEntities())
            {
                var existingData = dbEntity.MessageMandatoryElementDef.Find(id);
                if (existingData == null)
                {
                    throw new CDSException(10701);
                }

                if (parseData.ElementName != null)
                {
                    existingData.ElementName = parseData.ElementName;
                }

                if (parseData.ElementDataType != null)
                {
                    existingData.ElementDataType = parseData.ElementDataType;
                }

                if (parseData.Description != null)
                {
                    existingData.Description = parseData.Description;
                }

                if (parseData.MandatoryFlag.HasValue)
                {
                    existingData.MandatoryFlag = (bool)parseData.MandatoryFlag;
                }

                dbEntity.SaveChanges();
            }
        }
コード例 #30
0
 public int Create(int companyId, Format_Create parseData)
 {
     using (CDStudioEntities dbEntity = new CDStudioEntities())
     {
         SystemConfiguration newData = new SystemConfiguration()
         {
             Group = parseData.Group ?? "",
             Key   = parseData.Key,
             Value = parseData.Value
         };
         dbEntity.SystemConfiguration.Add(newData);
         try
         {
             dbEntity.SaveChanges();
         }
         catch (DbUpdateException ex)
         {
             if (ex.InnerException.InnerException.Message.Contains("Cannot insert duplicate key"))
             {
                 throw new CDSException(11902);
             }
             else
             {
                 throw ex;
             }
         }
         return(newData.Id);
     }
 }