示例#1
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();


            if (string.IsNullOrEmpty(this.IP))
            {
                result.Add(string.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_AllowIP_IP")));
            }

            var existIP = dbContext.AllowIPs.Where(u => u.IP == this.IP && u.idAllowIP != this.idAllowIP).FirstOrDefault();

            if (existIP != null)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_AllowIP_IP_Exist"));
            }


            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#2
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;
            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();



            var existEntity = dbContext.PermittedActions.Where(
                e => e.GroupSecuritySetting == this.GroupSecuritySetting &&
                e.SecuritySetting == this.SecuritySetting &&
                e.idPermittedAction != this.idPermittedAction
                ).FirstOrDefault();

            if (existEntity != null)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_PermittedAction_GroupSecuritySetting_SecuritySetting_Exist"));
            }

            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#3
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;
            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();



            var existEntity = dbContext.KeyValues.Where(
                e => e.KeyValueIntCode == this.KeyValueIntCode &&
                e.idKeyType == this.idKeyType &&
                e.idKeyValue != this.idKeyValue
                ).FirstOrDefault();

            if (existEntity != null)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_KeyValue_KeyValueIntCode_Exist"));
            }

            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#4
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            if (this.idRole == 0)
            {
                Role role = dbContext.Roles.FirstOrDefault(s => s.Name == this.Name);
                if (role != null)
                {
                    result.Add("Вече съществува роля с това име");
                }
            }


            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#5
0
        public BaseClassBL()
        {
            dbContext = new ETEMDataModelEntities();


            this.RequestMeasure = new RequestMeasure("BaseClassBL");
        }
示例#6
0
        public NavURL GetUrlNavById(int?id)
        {
            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();
            NavURL url = dbContext.NavURLs.FirstOrDefault(n => n.idNavURL == id);

            return(url);
        }
示例#7
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;
            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            if (string.IsNullOrEmpty(this.Resource))
            {
                result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_Sequence_Resource")));
            }
            if (this.nextVal <= 0)
            {
                result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_Sequence_NextVal_Grater_Than_Zero")));
            }

            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#8
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;
            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            this.ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            var existEntity = dbContext.Locations.Where(
                e => e.Name == this.Name &&
                e.idVillageType == this.idVillageType &&
                e.idMunicipality == this.idMunicipality &&
                e.idLocation != this.idLocation
                ).FirstOrDefault();

            if (existEntity != null)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_Location_VillageType_Municipality_Exist"));
            }

            this.ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
        public List <string> ValidateEntity(CallContext outputContext)
        {
            List <string> result = new List <string>();

            ValidationErrorsAsString = string.Empty;

            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            if (this.DateFrom == DateTime.MinValue)
            {
                result.Add("The field `Valid from` is required!");
            }
            if (this.DateTo.HasValue && this.DateTo.Value < this.DateFrom)
            {
                result.Add("The field `Valid to` must be grater than or equal the field `Date from`!");
            }

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            var checkProductivityAndScrapList = dbContext.ProductivityAndScraps.Where(w => w.idProductivityAndScrap != this.idProductivityAndScrap &&
                                                                                      ((this.DateTo.HasValue && w.DateTo.HasValue &&
                                                                                        (this.DateTo.Value >= w.DateFrom && this.DateTo.Value <= w.DateTo.Value ||
                                                                                         this.DateFrom >= w.DateFrom && this.DateFrom <= w.DateTo.Value)) ||
                                                                                       (!this.DateTo.HasValue && w.DateTo.HasValue &&
                                                                                        (this.DateFrom <= w.DateTo.Value && this.DateFrom >= w.DateFrom ||
                                                                                         this.DateFrom <= w.DateFrom)) ||
                                                                                       (this.DateTo.HasValue && !w.DateTo.HasValue &&
                                                                                        this.DateTo.Value >= w.DateFrom && this.DateFrom <= w.DateFrom) ||
                                                                                       (!this.DateTo.HasValue && !w.DateTo.HasValue &&
                                                                                        this.DateFrom == w.DateFrom))
                                                                                      ).ToList();

            if (checkProductivityAndScrapList.Count > 0)
            {
                result.Add("Productivity & Scrap list with overlapping date from/to interval persist in the data base!");
            }

            this.ValidationErrorsAsString = string.Join(Constants.ERROR_MESSAGES_SEPARATOR, result.ToArray());

            if (!string.IsNullOrEmpty(this.ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message = this.ValidationErrorsAsString;
            if (result.Count > 0)
            {
                outputContext.EntityID = "";
            }
            else
            {
                outputContext.EntityID = this.EntityID.ToString();
            }

            return(result);
        }
示例#10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            System.Collections.IList visibleTables = Global.DefaultModel.VisibleTables;
            if (visibleTables.Count == 0)
            {
                throw new InvalidOperationException("There are no accessible tables. Make sure that at least one data model is registered in Global.asax and scaffolding is enabled or implement custom pages.");
            }
            Menu1.DataSource = visibleTables;
            Menu1.DataBind();

            ETEMDataModelEntities model = new ETEMDataModelEntities();
        }
示例#11
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            this.passwordMinLength = Int32.Parse(new SettingBL().GetSettingByCode(ETEMEnums.AppSettings.PasswordMinLength.ToString()).SettingValue);

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            if (string.IsNullOrEmpty(this.UserName))
            {
                result.Add(string.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_User_UserName")));
            }
            if (string.IsNullOrEmpty(this.Password))
            {
                result.Add(string.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_User_Password")));
            }
            if (this.Password.Length < passwordMinLength)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_User_PasswordMinLength") + " " + passwordMinLength);
            }
            if (this.idPerson == Constants.INVALID_ID || this.idPerson == Constants.INVALID_ID_ZERO)
            {
                result.Add(string.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_User_Person")));
            }
            if (this.idStatus == Constants.INVALID_ID || this.idStatus == Constants.INVALID_ID_ZERO)
            {
                result.Add(string.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_User_Status")));
            }

            var existUser = dbContext.Users.Where(u => u.UserName == this.UserName && u.idUser != this.idUser).FirstOrDefault();

            if (existUser != null)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_User_UserName_Exist"));
            }

            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#12
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();


            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#13
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;
            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            this.ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            this.ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#14
0
 public OfferOverviewBL()
 {
     dbContext = new ETEMDataModelEntities();
 }
示例#15
0
 public BaseSettingHelper()
 {
     dbContext = new ETEMDataModelEntities();
 }
示例#16
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            var existEntity = dbContext.Settings.Where(e => e.SettingIntCode == this.SettingIntCode && e.idSetting != this.idSetting).FirstOrDefault();

            if (existEntity != null)
            {
                result.Add(BaseHelper.GetCaptionString("Entity_Setting_SettingIntCode_Exist"));
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }


            if (this.SettingClass == ETEMEnums.AppSettingsClass.Date.ToString())
            {
                DateTime tmp;
                if (!DateTime.TryParse(this.SettingValue, out tmp))
                {
                    result.Add(BaseHelper.GetCaptionString("Entity_Setting_SettingValue_Date"));
                    outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
                }
            }
            else if (this.SettingClass == ETEMEnums.AppSettingsClass.Double.ToString())
            {
                Double tmp;
                if (!Double.TryParse(this.SettingValue, out tmp))
                {
                    result.Add(BaseHelper.GetCaptionString("Entity_Setting_SettingValue_Double"));
                    outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
                }
            }
            else if (this.SettingClass == ETEMEnums.AppSettingsClass.EMail.ToString())
            {
                //TODO:Да се прави проверка за e-mail
            }
            else if (this.SettingClass == ETEMEnums.AppSettingsClass.Integer.ToString())
            {
                Int32 tmp;
                if (!Int32.TryParse(this.SettingValue, out tmp))
                {
                    result.Add(BaseHelper.GetCaptionString("Entity_Setting_SettingValue_Int32"));
                    outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
                }
            }
            else if (this.SettingClass == ETEMEnums.AppSettingsClass.List.ToString())
            {
                //TODO:Да се прави проверка за list
            }
            else if (this.SettingClass == ETEMEnums.AppSettingsClass.String.ToString())
            {
                //TODO:Да се прави проверка за стринг
            }

            ValidationErrorsAsString = string.Join(",", result.ToArray());


            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#17
0
        public List <string> GetCompletionList(string prefixText, int count, string contextKey)
        {
            List <string> selectionList = new List <string>();

            string customCase             = string.Empty;
            string tableForSelection      = string.Empty;
            string columnIdForSelection   = string.Empty;
            string columnNameForSelection = string.Empty;
            string columnNameForOrderBy   = string.Empty;
            string additionalWhereParam   = string.Empty;

            string[] arrContextParams = contextKey.Split(new char[1] {
                '|'
            }, StringSplitOptions.RemoveEmptyEntries);

            if (contextKey.Contains("case"))
            {
                customCase = arrContextParams[0].Replace("case=", "");

                arrContextParams = contextKey.Split(new char[1] {
                    '|'
                }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToArray();

                if (arrContextParams.Where(w => w.Contains("=")).Count() == 1)
                {
                    additionalWhereParam = arrContextParams.Where(w => w.Contains("=")).First();
                }
            }
            if (arrContextParams.Length == 2)
            {
                tableForSelection      = arrContextParams[0];
                columnNameForSelection = arrContextParams[1];
            }
            else if (arrContextParams.Length == 3)
            {
                tableForSelection      = arrContextParams[0];
                columnNameForSelection = arrContextParams[1];
                if (arrContextParams[2].Split('=', '!', '<', '>').Length > 1)
                {
                    additionalWhereParam = arrContextParams[2];
                }
                else
                {
                    columnIdForSelection = arrContextParams[2];
                }
            }
            else if (arrContextParams.Length == 4)
            {
                tableForSelection      = arrContextParams[0];
                columnNameForSelection = arrContextParams[1];
                columnIdForSelection   = arrContextParams[2];
                if (arrContextParams[3].Split('=', '!', '<', '>').Length > 1)
                {
                    additionalWhereParam = arrContextParams[3];
                }
                else
                {
                    columnNameForOrderBy = arrContextParams[3];
                }
            }
            else if (arrContextParams.Length == 5)
            {
                tableForSelection      = arrContextParams[0];
                columnNameForSelection = arrContextParams[1];
                columnIdForSelection   = arrContextParams[2];
                columnNameForOrderBy   = arrContextParams[3];
                additionalWhereParam   = arrContextParams[4];
            }
            if (!contextKey.Contains("case") && arrContextParams.Length == 0)
            {
                return(selectionList);
            }

            if (string.IsNullOrEmpty(columnNameForOrderBy))
            {
                columnNameForOrderBy = columnNameForSelection;
            }

            using (this.dbContext = new ETEMDataModelEntities())
            {
                switch (customCase)
                {
                case "PersonALLByName":
                {
                    List <PersonDataView> list = (from p in this.dbContext.Persons
                                                  select new PersonDataView
                        {
                            idPerson = p.idPerson,
                            FirstName = p.FirstName,
                            SecondName = p.SecondName,
                            LastName = p.LastName
                        }).Distinct().ToList <PersonDataView>();

                    list = list.GroupBy(g => new { g.FirstNameTrimed, g.SecondNameTrimed, g.LastNameTrimed }).
                           Select(s => new PersonDataView
                        {
                            idPerson   = s.First().idPerson,
                            FirstName  = s.Key.FirstNameTrimed,
                            SecondName = s.Key.SecondNameTrimed,
                            LastName   = s.Key.LastNameTrimed
                        }).ToList();

                    string[] arrSearchTerms = prefixText.Split(Constants.CHAR_SEPARATORS, StringSplitOptions.RemoveEmptyEntries);

                    string searchItem = string.Join(" ", arrSearchTerms).Trim().ToLower();

                    //HashSet<PersonDataView> listPersons = new HashSet<PersonDataView>();

                    //for (int i = 0; i < arrSearchTerms.Length; i++)
                    //{
                    //    var term = arrSearchTerms[i].Trim().ToLower();

                    //    var listItems = (from p in list
                    //                     where (p.FirstName != null && p.FirstName.Trim().ToLower().Contains(term)) ||
                    //                             (p.SecondName != null && p.SecondName.Trim().ToLower().Contains(term)) ||
                    //                             (p.LastName != null && p.LastName.Trim().ToLower().Contains(term)) ||
                    //                             (p.FullNameTwo != null && p.FullNameTwo.Trim().ToLower().Contains(term)) ||
                    //                             (p.FullNameLastTwo != null && p.FullNameLastTwo.Trim().ToLower().Contains(term)) ||
                    //                             (p.FullName != null && p.FullName.Trim().ToLower().Contains(term))
                    //                     select p).ToList();

                    //    listPersons.UnionWith(listItems);
                    //}

                    var listSearchedData = (from p in list
                                            where (p.FirstName != null && p.FirstName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.SecondName != null && p.SecondName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.LastName != null && p.LastName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullNameTwo != null && p.FullNameTwo.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullNameLastTwo != null && p.FullNameLastTwo.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullName != null && p.FullName.Trim().ToLower().Contains(searchItem))
                                            select new
                        {
                            idPerson = p.idPerson,
                            FullText = p.FullName
                        }).OrderBy(o => o.FullText);

                    foreach (var completionResult in listSearchedData)
                    {
                        selectionList.Add(AutoCompleteExtender.CreateAutoCompleteItem(completionResult.FullText, completionResult.idPerson.ToString()));
                    }
                }
                break;

                case "PersonALLByEGN":
                {
                    var list = (from p in this.dbContext.Persons
                                select new PersonDataView
                        {
                            idPerson = p.idPerson,
                            FirstName = p.FirstName,
                            SecondName = p.SecondName,
                            LastName = p.LastName,
                            EGN = p.EGN,
                            IdentityNumber = p.IdentityNumber
                        }).Distinct().ToList <PersonDataView>();

                    var listSearchedData = (from p in list
                                            where (p.EGN != null && p.EGN.Contains(prefixText)) ||
                                            (p.IdentityNumber != null && p.IdentityNumber.Contains(prefixText))
                                            select new
                        {
                            idPerson = p.idPerson,
                            FullText = p.FullName
                        }).OrderBy(o => o.FullText);

                    foreach (var completionResult in listSearchedData)
                    {
                        selectionList.Add(AutoCompleteExtender.CreateAutoCompleteItem(completionResult.FullText, completionResult.idPerson.ToString()));
                    }
                }
                break;



                case "NSICode":
                {
                    List <KeyValue> allNSICode = dbContext.KeyValues.Where(k => k.KeyType.KeyTypeIntCode == "NSICode").ToList();

                    var listSearchedData = (from k in allNSICode
                                            where k.Name.ToLower().Contains(prefixText.ToLower()) || k.KeyValueIntCode.ToLower().Contains(prefixText.ToLower())
                                            select new
                        {
                            idKeyValue = k.idKeyValue,
                            FullText = k.KeyValueIntCode.Trim() + " | " + k.Name.Trim()
                        }).OrderBy(o => o.FullText);

                    foreach (var completionResult in listSearchedData)
                    {
                        selectionList.Add(AutoCompleteExtender.CreateAutoCompleteItem(completionResult.FullText, completionResult.idKeyValue.ToString()));
                    }
                }
                break;



                case "EmployeePerson":
                {
                    List <PersonDataView> personList = new List <PersonDataView>();

                    personList = (from p in this.dbContext.Persons
                                  join u in this.dbContext.Users on p.idPerson equals u.idPerson
                                  select new PersonDataView
                        {
                            idPerson = p.idPerson,
                            FirstName = p.FirstName,
                            SecondName = p.SecondName,
                            LastName = p.LastName,
                            Title = p.Title
                        }
                                  ).Distinct().ToList();

                    string[] arrSearchTerms = prefixText.Split(Constants.CHAR_SEPARATORS, StringSplitOptions.RemoveEmptyEntries);

                    string searchItem = string.Join(" ", arrSearchTerms).Trim().ToLower();

                    //HashSet<ArtModelDataView> listArtModels = new HashSet<ArtModelDataView>();

                    //for (int i = 0; i < arrSearchTerms.Length; i++)
                    //{
                    //    var term = arrSearchTerms[i].Trim().ToLower();

                    //    var listItems = (from p in allArtModel
                    //                     where (p.FirstName != null && p.FirstName.Trim().ToLower().Contains(term)) ||
                    //                             (p.SecondName != null && p.SecondName.Trim().ToLower().Contains(term)) ||
                    //                             (p.LastName != null && p.LastName.Trim().ToLower().Contains(term)) ||
                    //                             (p.FullName != null && p.FullName.Trim().ToLower().Contains(term))
                    //                     select p).ToList();

                    //    listArtModels.UnionWith(listItems);
                    //}

                    var listSearchedData = (from p in personList
                                            where (p.FirstName != null && p.FirstName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.SecondName != null && p.SecondName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.LastName != null && p.LastName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullNameTwo != null && p.FullNameTwo.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullNameLastTwo != null && p.FullNameLastTwo.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullName != null && p.FullName.Trim().ToLower().Contains(searchItem))
                                            select p).OrderBy(o => o.FullName).ToList();

                    foreach (var completionResult in listSearchedData)
                    {
                        selectionList.Add(AutoCompleteExtender.CreateAutoCompleteItem(completionResult.TitlePlusFullName, completionResult.idPerson.ToString()));
                    }
                }
                break;

                case "PersonEmployee":
                {
                    List <PersonDataView> personList = new List <PersonDataView>();

                    personList = (from p in this.dbContext.Persons
                                  join e in this.dbContext.Employees on p.idPerson equals e.idPerson
                                  select new PersonDataView
                        {
                            idPerson = p.idPerson,
                            FirstName = p.FirstName,
                            SecondName = p.SecondName,
                            LastName = p.LastName,
                            Title = p.Title
                        }
                                  ).Distinct().ToList();

                    string[] arrSearchTerms = prefixText.Split(Constants.CHAR_SEPARATORS, StringSplitOptions.RemoveEmptyEntries);

                    string searchItem = string.Join(" ", arrSearchTerms).Trim().ToLower();

                    //HashSet<ArtModelDataView> listArtModels = new HashSet<ArtModelDataView>();

                    //for (int i = 0; i < arrSearchTerms.Length; i++)
                    //{
                    //    var term = arrSearchTerms[i].Trim().ToLower();

                    //    var listItems = (from p in allArtModel
                    //                     where (p.FirstName != null && p.FirstName.Trim().ToLower().Contains(term)) ||
                    //                             (p.SecondName != null && p.SecondName.Trim().ToLower().Contains(term)) ||
                    //                             (p.LastName != null && p.LastName.Trim().ToLower().Contains(term)) ||
                    //                             (p.FullName != null && p.FullName.Trim().ToLower().Contains(term))
                    //                     select p).ToList();

                    //    listArtModels.UnionWith(listItems);
                    //}

                    var listSearchedData = (from p in personList
                                            where (p.FirstName != null && p.FirstName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.SecondName != null && p.SecondName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.LastName != null && p.LastName.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullNameTwo != null && p.FullNameTwo.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullNameLastTwo != null && p.FullNameLastTwo.Trim().ToLower().Contains(searchItem)) ||
                                            (p.FullName != null && p.FullName.Trim().ToLower().Contains(searchItem))
                                            select p).OrderBy(o => o.FullName).ToList();

                    foreach (var completionResult in listSearchedData)
                    {
                        selectionList.Add(AutoCompleteExtender.CreateAutoCompleteItem(completionResult.TitlePlusFullName, completionResult.idPerson.ToString()));
                    }
                }
                break;



                default:
                {
                    string selectStmt = string.Empty;

                    selectStmt = "SELECT TOP " + count + (string.IsNullOrEmpty(columnIdForSelection) ? " [" : " [" + columnIdForSelection + "] AS Id, [") + columnNameForSelection + "] AS Name " +
                                 "FROM [" + tableForSelection + "] " +
                                 "WHERE LOWER([" + columnNameForOrderBy + "]) LIKE '" + BaseHelper.MySqlEscapeString(prefixText.ToLower().Trim()) + "%' " +
                                 (string.IsNullOrEmpty(additionalWhereParam) ? "" : "AND " + additionalWhereParam + " ") +
                                 "ORDER BY [" + columnNameForOrderBy + "] ASC";

                    if (string.IsNullOrEmpty(columnIdForSelection))
                    {
                        var result = this.dbContext.ExecuteStoreQuery <string>(selectStmt);

                        selectionList.AddRange(result.ToList());
                    }
                    else
                    {
                        var result = this.dbContext.ExecuteStoreQuery <CompletionResult>(selectStmt);

                        foreach (CompletionResult completionResult in result)
                        {
                            selectionList.Add(AutoCompleteExtender.CreateAutoCompleteItem(completionResult.Name, completionResult.Id.ToString()));
                        }
                    }
                }
                break;
                }
            }

            return(selectionList);
        }
示例#18
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            List <string> result = new List <string>();

            ValidationErrorsAsString = string.Empty;

            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            if (this.idDiePriceList == Constants.INVALID_ID || this.idDiePriceList == Constants.INVALID_ID_ZERO)
            {
                result.Add("The field `Vendor die price list` is required!");
            }
            if (this.idNumberOfCavities == Constants.INVALID_ID || this.idNumberOfCavities == Constants.INVALID_ID_ZERO)
            {
                result.Add("The field `Number of cavities` is required!");
            }
            if (this.idNumberOfCavities == Constants.INVALID_ID || this.idNumberOfCavities == Constants.INVALID_ID_ZERO)
            {
                result.Add("The field `Profile category` is required!");
            }
            if (this.idNumberOfCavities == Constants.INVALID_ID || this.idNumberOfCavities == Constants.INVALID_ID_ZERO)
            {
                result.Add("The field `Profile complexity` is required!");
            }
            if (this.DimensionA == int.MinValue)
            {
                result.Add("The field `Dimension A (mm)` is required!");
            }
            if (this.DimensionB == int.MinValue)
            {
                result.Add("The field `Dimension B (mm)` is required!");
            }
            if (this.Price == decimal.MinValue)
            {
                result.Add("The field `Die price (EUR)` is required!");
            }
            if (this.Lifespan == decimal.MinValue)
            {
                result.Add("The field `Lifespan (ton)` is required!");
            }

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            var checkDiePriceListDetail = dbContext.DiePriceListDetails.Where(w => w.idDiePriceListDetail != this.idDiePriceListDetail &&
                                                                              w.idDiePriceList == this.idDiePriceList &&
                                                                              w.idNumberOfCavities == this.idNumberOfCavities &&
                                                                              w.idProfileComplexity == this.idProfileComplexity &&
                                                                              w.idProfileCategory == this.idProfileCategory &&
                                                                              w.Price == this.Price &&
                                                                              w.DimensionA == this.DimensionA &&
                                                                              w.DimensionB == this.DimensionB).ToList();

            if (checkDiePriceListDetail.Count > 0)
            {
                result.Add("Die price for the same vendor and dimensions already exists in the database!");
            }

            this.ValidationErrorsAsString = string.Join(Constants.ERROR_MESSAGES_SEPARATOR, result.ToArray());

            if (!string.IsNullOrEmpty(this.ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message = this.ValidationErrorsAsString;
            if (result.Count > 0)
            {
                outputContext.EntityID = "";
            }
            else
            {
                outputContext.EntityID = this.EntityID.ToString();
            }

            return(result);
        }
示例#19
0
 public CommonBL()
 {
     dbContext = new ETEMDataModelEntities();
 }
示例#20
0
        public void StartCheck()
        {
            if (Thread.CurrentThread.Name == "ThreadCheckForWrongEmails")
            {
                int waitTimeInMinutes = 2;
                if (resultContext.ListKvParams.Where(w => w.Key == "WaitCheckMailDeliveryInMinutes").Count() == 1)
                {
                    waitTimeInMinutes = Int32.Parse(resultContext.ListKvParams.Where(w => w.Key == "WaitCheckMailDeliveryInMinutes").First().Value.ToString());
                }

                Thread.Sleep((waitTimeInMinutes * 60 * 1000));
            }

            Pop3Client pop3Client = null;

            try
            {
                pop3Client = new Pop3Client();

                string mailServerPop3             = string.Empty;
                int    mailServerPop3Port         = 0;
                string mailFromPassword           = string.Empty;
                string mailDeliverySubsystemEmail = string.Empty;

                string mailFrom = string.Empty;
                string mailTo   = string.Empty;

                if (resultContext.ListKvParams.Where(w => w.Key == "DefaultEmail").Count() == 1)
                {
                    mailFrom = resultContext.ListKvParams.Where(w => w.Key == "DefaultEmail").First().Value.ToString();
                    mailTo   = resultContext.ListKvParams.Where(w => w.Key == "DefaultEmail").First().Value.ToString();
                }
                if (resultContext.ListKvParams.Where(w => w.Key == "MailServerPop3").Count() == 1)
                {
                    mailServerPop3 = resultContext.ListKvParams.Where(w => w.Key == "MailServerPop3").First().Value.ToString();
                }
                if (resultContext.ListKvParams.Where(w => w.Key == "MailServerPop3Port").Count() == 1)
                {
                    mailServerPop3Port = Int32.Parse(resultContext.ListKvParams.Where(w => w.Key == "MailServerPop3Port").First().Value.ToString());
                }
                if (resultContext.ListKvParams.Where(w => w.Key == "MailFromPassword").Count() == 1)
                {
                    mailFromPassword = resultContext.ListKvParams.Where(w => w.Key == "MailFromPassword").First().Value.ToString();
                }
                if (resultContext.ListKvParams.Where(w => w.Key == "MailDeliverySubsystemEmail").Count() == 1)
                {
                    mailDeliverySubsystemEmail = resultContext.ListKvParams.Where(w => w.Key == "MailDeliverySubsystemEmail").First().Value.ToString();
                }

                List <string> listWrongEmails = new List <string>();

                DateTime dtCurrDateSent = DateTime.Now;

                pop3Client.Connect(mailServerPop3, mailServerPop3Port, true);
                pop3Client.Authenticate(mailFrom, mailFromPassword);

                Message message       = null;
                int     countMessages = pop3Client.GetMessageCount();
                for (int i = 1; i <= countMessages; i++)
                {
                    message = pop3Client.GetMessage(i);
                    if (message != null && message.Headers != null && message.Headers.DateSent != null &&
                        message.Headers.From.Address == mailDeliverySubsystemEmail)
                    {
                        dtCurrDateSent = message.Headers.DateSent;
                        if (message.Headers.DateSent.Kind == DateTimeKind.Utc)
                        {
                            dtCurrDateSent = message.Headers.DateSent.ToLocalTime();
                        }

                        if (this.dtStartDateSend <= dtCurrDateSent && dtCurrDateSent <= DateTime.Now)
                        {
                            if (message.MessagePart != null && message.MessagePart.GetBodyAsText().Split('\r', '\n').Where(w => w.Contains("@")).Count() > 0)
                            {
                                string wrongEmail = message.MessagePart.GetBodyAsText().Split('\r', '\n').Where(w => w.Contains("@")).First().Trim();

                                listWrongEmails.Add(wrongEmail);
                            }
                        }
                    }
                }

                List <Person> listPersonsWithWrongEmails = new List <Person>();

                ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

                listPersonsWithWrongEmails = (from p in dbContext.Persons
                                              where listWrongEmails.Contains(p.EMail)
                                              orderby p.FirstName ascending, p.SecondName ascending, p.LastName ascending
                                              select p).ToList <Person>();

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string subject = (from kv in dbContext.KeyValues
                                      join kt in dbContext.KeyTypes on kv.idKeyValue equals kt.idKeyType
                                      where kt.KeyTypeIntCode == ETEMEnums.KeyTypeEnum.EmailSubject.ToString() &&
                                      kv.KeyValueIntCode == ETEMEnums.EmailSubjectEnum.WrongSentEmails.ToString()
                                      select kv.Description).FirstOrDefault();

                    string body = (from kv in dbContext.KeyValues
                                   join kt in dbContext.KeyTypes on kv.idKeyValue equals kt.idKeyType
                                   where kt.KeyTypeIntCode == ETEMEnums.KeyTypeEnum.EmailSubject.ToString() &&
                                   kv.KeyValueIntCode == ETEMEnums.EmailBodyEnum.WrongSentEmails.ToString()
                                   select kv.Description).FirstOrDefault();

                    if (!string.IsNullOrEmpty(subject) && !string.IsNullOrEmpty(body))
                    {
                        string bodyInnerText = string.Empty;
                        foreach (Models.Person person in listPersonsWithWrongEmails)
                        {
                            if (string.IsNullOrEmpty(bodyInnerText))
                            {
                                bodyInnerText += BaseHelper.GetCaptionString("Email_WrongSentEmail_Email") + " " + person.EMail + "\n";
                                bodyInnerText += BaseHelper.GetCaptionString("Email_WrongSentEmail_PersonName") + " " + person.FullName;
                            }
                            else
                            {
                                bodyInnerText += "\n" + BaseHelper.GetNumberOfCharAsString('-', 100) + "\n";

                                bodyInnerText += BaseHelper.GetCaptionString("Email_WrongSentEmail_Email") + " " + person.EMail + "\n";
                                bodyInnerText += BaseHelper.GetCaptionString("Email_WrongSentEmail_PersonName") + " " + person.FullName;
                            }
                        }

                        body = string.Format(body, bodyInnerText);

                        SendMailAction(mailFrom, mailTo, subject, body);
                    }
                }
            }
            catch (Exception ex)
            {
                BaseHelper.Log("Грешка при проверка за неуспешно изпратени имейли - (ThreadCheckForWrongEmails.StartCheck)!");
                BaseHelper.Log(ex.Message);
                BaseHelper.Log(ex.StackTrace);
            }
            finally
            {
                if (pop3Client != null)
                {
                    if (pop3Client.Connected)
                    {
                        pop3Client.Disconnect();
                    }
                    pop3Client.Dispose();
                }
            }
        }
示例#21
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            ValidationErrorsAsString = string.Empty;
            List <string> result = new List <string>();

            if (string.IsNullOrEmpty(this.FirstName))
            {
                result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_Person_FirstName")));
            }

            if (string.IsNullOrEmpty(this.LastName))
            {
                result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_Person_LastName")));
            }

            //if (this.idCitizenship==Constants.INVALID_ID)
            //{
            //    result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_Person_Citizenship")));
            //}

            /*
             * if (this.BirthDate == null)
             * {
             *  result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_BirthYear")));
             * }
             *
             * if (!this.idSex.HasValue || this.idSex.Value == Constants.INVALID_ID || this.idSex.Value == Constants.INVALID_ID_ZERO)
             * {
             *  result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"), BaseHelper.GetCaptionString("Entity_Person_Sex")));
             * }
             *
             * if (string.IsNullOrEmpty(this.EGN) && string.IsNullOrEmpty(this.IdentityNumber) && string.IsNullOrEmpty(this.IDN))
             * {
             *  result.Add(BaseHelper.GetCaptionString("Entity_Person_Identifiers"));
             * }
             */

            if (!string.IsNullOrEmpty(this.EGN))
            {
                var existUser = dbContext.Persons.Where(u => u.EGN == this.EGN &&
                                                        u.FirstName != this.FirstName &&
                                                        u.LastName != this.LastName &&
                                                        u.idPerson != this.idPerson).FirstOrDefault();

                if (existUser != null)
                {
                    result.Add(BaseHelper.GetCaptionString("Entity_Person_IdentityNumber_Exist"));
                }
            }
            else if (!string.IsNullOrEmpty(this.IdentityNumber))
            {
                var existUser = dbContext.Persons.Where(u => u.IdentityNumber == this.IdentityNumber &&
                                                        u.FirstName != this.FirstName &&
                                                        u.LastName != this.LastName &&
                                                        u.idPerson != this.idPerson).FirstOrDefault();

                if (existUser != null)
                {
                    result.Add(BaseHelper.GetCaptionString("Entity_Person_IdentityNumber_Exist"));
                }
            }

            ValidationErrorsAsString = string.Join(",", result.ToArray());

            if (!string.IsNullOrEmpty(ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }


            outputContext.Message  = this.ValidationErrorsAsString;
            outputContext.EntityID = this.EntityID.ToString();

            return(result);
        }
示例#22
0
        public List <string> ValidateEntity(CallContext outputContext)
        {
            List <string> result = new List <string>();

            ValidationErrorsAsString = string.Empty;

            outputContext.ResultCode = ETEMEnums.ResultEnum.Success;

            if (this.idVendor == Constants.INVALID_ID || this.idVendor == Constants.INVALID_ID_ZERO)
            {
                result.Add("The field `Vendor` is required!");
            }
            if (this.DateFrom == DateTime.MinValue)
            {
                result.Add("The field `Valid from` is required!");
            }
            if (this.DateTo.HasValue && this.DateTo.Value < this.DateFrom)
            {
                result.Add("The field `Valid to` must be grater than or equal the field `Date from`!");
            }

            ETEMDataModelEntities dbContext = new ETEMDataModelEntities();

            var checkDiePriceList = dbContext.DiePriceLists.Where(w => w.idDiePriceList != this.idDiePriceList &&
                                                                  w.idVendor == this.idVendor &&
                                                                  ((this.DateTo.HasValue && w.DateTo.HasValue &&
                                                                    (this.DateTo.Value >= w.DateFrom && this.DateTo.Value <= w.DateTo.Value ||
                                                                     this.DateFrom >= w.DateFrom && this.DateFrom <= w.DateTo.Value)) ||
                                                                   (!this.DateTo.HasValue && w.DateTo.HasValue &&
                                                                    (this.DateFrom <= w.DateTo.Value && this.DateFrom >= w.DateFrom ||
                                                                     this.DateFrom <= w.DateFrom)) ||
                                                                   (this.DateTo.HasValue && !w.DateTo.HasValue &&
                                                                    this.DateTo.Value >= w.DateFrom && this.DateFrom <= w.DateFrom) ||
                                                                   (!this.DateTo.HasValue && !w.DateTo.HasValue &&
                                                                    this.DateFrom == w.DateFrom))
                                                                  ).ToList();

            if (checkDiePriceList.Count > 0)
            {
                result.Add("Die price list with the same vendor and period already exists in the database!");
            }

            this.ValidationErrorsAsString = string.Join(Constants.ERROR_MESSAGES_SEPARATOR, result.ToArray());

            if (!string.IsNullOrEmpty(this.ValidationErrorsAsString))
            {
                outputContext.ResultCode = ETEMEnums.ResultEnum.Error;
            }

            outputContext.Message = this.ValidationErrorsAsString;
            if (result.Count > 0)
            {
                outputContext.EntityID = "";
            }
            else
            {
                outputContext.EntityID = this.EntityID.ToString();
            }

            return(result);
        }
示例#23
0
 public ExpenseCalculationBL()
 {
     dbContext = new ETEMDataModelEntities();
 }