private void ObtainProfilesDefinitions()
        {
            //create profiles reader instance
            AlarmProfileReader reader = new AlarmProfileReader(_realmProvider);

            //for every identity to export
            foreach (var item in _profilesIDlidt)
            {
                //get single profile definition
                AlarmProfileDefinition definition = reader.GetAlarmProfileDefinition(item);

                //translate DB alarm profile definition into export model
                AlarmProfileDefinitionExportModel exportModel = new AlarmProfileDefinitionExportModel()
                {
                    Identity       = definition.Identity,
                    CreatedBy      = definition.CreatedBy,
                    ModifiedBy     = definition.ModifiedBy,
                    ProfileName    = definition.ProfileName,
                    ProfileComment = definition.ProfileComment,
                };

                //create object of export list
                FullAlarmProfileDefinition fullDefinition = new FullAlarmProfileDefinition()
                {
                    AlarmProfileDefinition = exportModel,
                    NoErrors = true,
                };

                //add new full definition to list
                _profilesDefinitionsList.Add(fullDefinition);
            }
        }
        public FullAlarmProfileDefinition Validate(FullAlarmProfileDefinition model)
        {
            FullAlarmProfileDefinition internalModel = model;

            bool modelOK = CheckProfileDefinition(model.AlarmProfileDefinition);
            if (modelOK) modelOK = CheckAllDaysDefinitions(model.DaysList);

            internalModel.NoErrors = modelOK;

            return internalModel;
        }
        private void SaveProfileToDB(AlarmProfileCreator creator, FullAlarmProfileDefinition definition)
        {
            //convert models of alarms profile export into realm DB class
            List <AlarmProfilerDayDefinition> realmDaysList = new List <AlarmProfilerDayDefinition>();

            foreach (var item in definition.DaysList)
            {
                AlarmProfilerDayDefinition realmDay = new AlarmProfilerDayDefinition()
                {
                    Identity          = item.Identity,
                    DayNumber         = item.DayNumber,
                    AlwaysSend        = item.AlwaysSend,
                    NeverSend         = item.NeverSend,
                    SendBetween       = item.SendBetween,
                    UpperHour         = item.UpperHour,
                    LowerHour         = item.LowerHour,
                    ProfileForeignKey = item.ProfileForeignKey,
                };
                realmDaysList.Add(realmDay);
            }

            bool added = creator.SaveNewProfile(definition.AlarmProfileDefinition.CreatedBy, definition.AlarmProfileDefinition.ProfileName,
                                                definition.AlarmProfileDefinition.ProfileComment, realmDaysList);

            string message;

            if (added)
            {
                message = $"Alarm urgency profile successfully added to database.";
            }
            else
            {
                message = $"Alarm urgency profile NOT ADDED to Database.";
            }

            OnSingleImportDone(added, definition.AlarmProfileDefinition.ProfileName, message, false);
        }
 private bool CheckCorrectnessOfData(FullAlarmProfileDefinition item,
                                     AlarnProfileImportItemValidator validator)
 {
     return(validator.Validate(item).NoErrors);
 }