Пример #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>();

            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;
        }
Пример #3
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;
        }
Пример #4
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;
        }
Пример #5
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;
        }
Пример #6
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.URL))
            {
                result.Add(String.Format(BaseHelper.GetCaptionString("Entity_Common_Field_Mandatory"),
                    BaseHelper.GetCaptionString("Entity_NAV_URL")));
            }



            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;
        }
Пример #7
0
        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;
        }
Пример #8
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>();

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


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

            return result;
        }
Пример #9
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();





        }
        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();
                }
            }
        }
Пример #11
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;
        }
Пример #12
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;
        }
Пример #13
0
 public ExpenseCalculationBL()
 {
     dbContext = new ETEMDataModelEntities();
 }
Пример #14
0
 public ProductCostBL()
 {
     dbContext = new ETEMDataModelEntities();
 }
Пример #15
0
 public OfferOverviewBL()
 {
     dbContext = new ETEMDataModelEntities();
 }
Пример #16
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;
        }
Пример #17
0
 public CommonBL()
 {
     dbContext = new ETEMDataModelEntities();
 }
Пример #18
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;
        }
Пример #19
0
 public BaseSettingHelper()
 {
     dbContext = new ETEMDataModelEntities();
 }