Example #1
0
        public static IEnumerable<Shop> GetShopByRegionID(int RegionID)
        {
            List<Shop> shops;
            //List<Region> Regions;
            List<City> Cities;
            Shop[] Allshops = null;

            using (var Ctx = new dcCommonDataContext())
            {
                Cities = Ctx.Cities.Where(x => x.RegionID == RegionID).ToList();
            }

            using (var Ctx = new CmsDataContext())
            {
                shops = Ctx.Shops.Where(x => x.ShopVisible && x.RegionID == RegionID).OrderByDescending(X => X.isRMS).ThenBy(x => x.ShopPriority).ToList();
                Allshops = Ctx.Shops.ToArray();

                //Джойним с теми, которые были получены через города
                Allshops = (from sh in Allshops
                            join city in Cities on sh.CityID equals city.CityID
                            where sh.ShopVisible == true
                            select sh).ToArray();

                //Очень странно, но если вынести Это из using то получим ошибку Открыт доступ к DataContext после Dispose
                Allshops = Allshops.Union(shops).Distinct().OrderByDescending(X => X.isRMS).ThenBy(x => x.ShopPriority).ToArray();

                //TODO: Переделать формирование списка с регионами, так как еще добавяться магазины у которых город не null
                return Allshops;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            dcCommonDataContext DC = new dcCommonDataContext();

            _ClientName.Text = data.Profile.ClientName;
            _ClientCategory.Text = data.Profile.Category.ToTextOrName();
            _TradingVolume.Text = data.Profile.TradingVolume.ToTextOrName();
            _Email.Text = data.Profile.Email;
            var country = DC.spSelCountryByID(data.Profile.CountryID).FirstOrDefault();
            _Country.Text = country == null ? "" : country.CountryName;
            //var region = DC.spSelRegionByID( data.Profile.RegionID ).FirstOrDefault();
            //_Region.Text = region == null ? "" : region.RegionName;
            _Locality.Text = data.Profile.Locality;
            _ScopeType.Text = data.Profile.ScopeType;
            //_DiscountCardNumber.Text = data.Profile.DiscountCardNumber;
            _HowKnow.Text = data.Profile.HowKnow;

            _ContactPersonPosition.Text = data.Profile.ContactPersonPosition;
            _ContactPersonSurname.Text = data.Profile.ContactPersonSurname;
            _ContactPersonName.Text = data.Profile.ContactPersonName;
            _ContactPersonPhone.Text = data.Profile.ContactPersonPhone;
            _ContactPersonExtPhone.Text = data.Profile.ContactPersonExtPhone;
            _ContactPersonFax.Text = data.Profile.ContactPersonFax;
            _ContactPersonEmail.Text = data.Profile.ContactPersonEmail;
            _DeliveryAddress.Text = data.Profile.DeliveryAddress;

            _CompanyName.Text = data.Profile.CompanyName;
            _CompanyRegistrationID.Text = data.Profile.CompanyRegistrationID;
            _CompanyAddress.Text = data.Profile.CompanyAddress;

            _BankName.Text = data.Profile.BankName;
            _IBAN.Text = data.Profile.IBAN;
            _SWIFT.Text = data.Profile.SWIFT;
            _BankAddress.Text = data.Profile.BankAddress;

            _DirectorName.Text = data.Profile.DirectorName;
            _DirectorSurname.Text = data.Profile.DirectorSurname;

            _CorrespondingBankName.Text = data.Profile.CorrespondentBankName;
            _CorrespondingIBAN.Text = data.Profile.CorrespondentIBAN;
            _CorrespondingSWIFT.Text = data.Profile.CorrespondentSWIFT;
            _CorrespondingBankAddress.Text = data.Profile.CorrespondentBankAddress;

            ////Пункт выдачи заказов
            //var rmsStore = data.Profile.RmsStoreId != null ? AcctgRefCatalog.RmsStores[data.Profile.RmsStoreId] : null;
            //if ( rmsStore != null )
            //{
            //    _RmsStores.Text = Server.HtmlEncode( rmsStore.StoreName );
            //}
            //else
            //{
            //}

            ////Группа персональной скидки
            //_clientGroupName.Text = data.Profile.ClientGroupName;

            //Пока один тип клиентов нет необходимости разбивать все на плейс-холдеры и извращаться с видимостью
            //UpdateVisiblePH(Page.Controls);
        }
Example #3
0
        protected void Page_Load( object sender, EventArgs e )
        {
            Shop [] shops = new Shop [0];
            Shop[] Allshops = new Shop[0];
            List<City> Cities = null;

            if (CmsContext.Current.PageParameters["Region"] == "City")
            {
                using (var Ctx = new dcCommonDataContext())
                {
                    Cities = Ctx.Cities.Where(x => x.CityID.ToString() == CmsContext.Current.PageParameters["ID"]).ToList();
                }

                shops = ShopsDac.GetShopByCityID(Convert.ToInt32(CmsContext.Current.PageParameters["ID"])).ToArray();
                shops = shops.Where(s => s.isRMS != true).ToArray();
                ShopsLoaded = shops.Length;
                firstShop = shops.FirstOrDefault();

                _listView.DataSource = getShops(ref shops);
                _listView.DataBind();
            }

            if (CmsContext.Current.PageParameters["Region"] == "Region")
            {
                // Ссылка "Центральный офис" использует алгоритм отображения магазинов по региону
                // "100" - 'регион' "Центральный офис"
                if ("100" == CmsContext.Current.PageParameters["ID"])
                {
                    Shop[] sl = (new CmsDataContext()).Shops.Where(x => x.isRMS == true).ToArray();
                    _listView.DataSource = getShops(ref sl);
                    _listView.DataBind(); return;
                }
                Region r;
                using (var Ctx = new dcCommonDataContext())
                {
                    Cities = Ctx.Cities.Where(x => x.RegionID.ToString() == CmsContext.Current.PageParameters["ID"]).ToList();
                    r = Ctx.Regions.Where(x => x.RegionID.ToString() == CmsContext.Current.PageParameters["ID"]).FirstOrDefault();
                }

                Cities.Add(new City() { CityID = null });
                Allshops = ShopsDac.GetShopByRegionID(Convert.ToInt32(CmsContext.Current.PageParameters["ID"])).ToArray();
                ShopsLoaded = Allshops.Count();

                firstShop = Allshops.FirstOrDefault();

                _listView.DataSource = getShops(ref Allshops);
                _listView.DataBind();
            }
        }
Example #4
0
 object[] getShops(ref Shop[] sl)
 {
     var Ctx = new dcCommonDataContext();
     List<object> ol = new List<object>();
     foreach (Shop sh in sl)
     {
         string CityName = Ctx.Cities.FirstOrDefault(c => c.CityID == sh.CityID).Name, RegionName = "";
         if (sh.RegionID != null) RegionName = Ctx.Regions.FirstOrDefault(c => c.RegionID == sh.RegionID).RegionName;
         string ShopString = CityName + (!string.IsNullOrEmpty(CityName) ? ", " : RegionName + ", ") + sh.ShopName + ", " +
                sh.ShopAddress + (sh.ShopMetro != null && sh.ShopMetro.Length > 0 ? ", " + sh.ShopMetro : "");
         ol.Add(new
         {
             ShopId = sh.ShopID,
             ShopString = CityName + (!string.IsNullOrEmpty(CityName) ? ", " : RegionName + ", ") + sh.ShopName + ", " +
             sh.ShopAddress + (sh.ShopMetro != null && sh.ShopMetro.Length > 0 ? ", " + sh.ShopMetro : "")
         });
     }
     return ol.ToArray();
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            //RmsAuto.Store.Entities.dcCommonDataContext DC = new RmsAuto.Store.Entities.dcCommonDataContext();
            if (!Page.IsPostBack)
            {
                using (var dc = new dcCommonDataContext())
                {
                    int cScopeType = dc.spSelAllScopeType().Count();
                    foreach (var oScopeType in dc.spSelAllScopeType())
                    {
                        _ddlScopeType.Items.Add(new ListItem()
                        {
                            Text = oScopeType.ScopeType_Name,
                            Value = oScopeType.ScopeType_ID.ToString(),
                            Selected = cScopeType == 1
                        });
                    }
                }

                _ddlScopeType.Items.RemoveAt(_ddlScopeType.Items.Count - 1);
                _ddlScopeType.Items.RemoveAt(_ddlScopeType.Items.Count - 1);
            }
        }
        /// <summary>
        /// Разбор Excel файла
        /// </summary>
        /// <param name="reader">объект чтения</param>
        private void LoadOrderFromReader( SpreadsheetReader reader )
        {
            Dictionary<SparePartPriceKey, int> groupRows = new Dictionary<SparePartPriceKey, int>();
            //проверка наличия в файле единственного листа с заказом
            reader.CurrentSheet = 0;
            if (reader.SheetCount > 1)
            {
                AddError(ErrorReason.SingleSheetRequired, "");
                return;
            }
            if (reader.RecordCount <= _first_row)
            {
                AddError(ErrorReason.EmptyOrder, _first_row.ToString() );
                return;
            }
            //импорт номера заказа
            try
            {
                string orderNum = reader[_order_num_cell.Y, _order_num_cell.X];
                CustOrderNum = (orderNum ?? "").Trim();
                Session["CustOrderNum"] = CustOrderNum;
            }
            catch
            {
                AddError(ErrorReason.InvalidOrderNumber, "");
                return;
            }
            int ItemsRead = 0;
            rowsOK.Clear();
            rowsAccept.Clear();
            rowsER.Clear();
            rowsERQty.Clear();
            //импорт строк заказа
            using (var DC = new DCFactory<StoreDataContext>())
            {
                var userSet = DC.DataContext.spSelUserSetting(SiteContext.Current.User.UserId).FirstOrDefault();
                RmsAuto.Acctg.ClientGroup _clientGroup = SiteContext.Current.CurrentClient.Profile.ClientGroup;
                decimal _personalMarkup = SiteContext.Current.CurrentClient.Profile.PersonalMarkup;
                byte PrcExcessPrice = userSet == null ? (byte)0 : userSet.PrcExcessPrice;
                _txtPrc.Text = string.Format(Resources.CartImport.PrcExcessPrice + ": <b>{0}</b>", PrcExcessPrice);

                CheckExcelRestrictions(reader.RecordCount - 5/* т.к. в шапке 5 строк, а reader.RecordCount - общее кол-во строк в файле */);

                for (int r = _first_row; r < reader.RecordCount; r++)
                {
                    string[] rec = {
                        reader[r, 0], reader[r, 1], reader[r, 2],
                        reader[r, 3], reader[r, 4], reader[r, 5],
                        reader[r, 6], reader[r, 7] };

                    rec = rec.Each(s => s.Trim()).ToArray();

                    if (rec.All(s => s == ""))
                        continue;

                    if (rec.All(s => string.IsNullOrEmpty(s)))
                    {
                        if (r == _first_row)
                        {
                            AddError(ErrorReason.EmptyOrder, r.ToString());
                        }
                        break;
                    }
                    ItemsRead++;
                    bool recIsValid = true;
                    string errorText = "";
                    int supplierId = 0;
                    if (!int.TryParse(rec[1], out supplierId))
                    {
                        errorText += TextError(ErrorReason.InvalidSupplierID, "") + "<br />";
                        recIsValid = false;
                    }
                    string manufacturer = rec[2];
                    if (string.IsNullOrEmpty(manufacturer))
                    {
                        errorText += TextError(ErrorReason.InvalidPartNumber, "") + "<br />";
                        recIsValid = false;
                    }
                    string partNumber = rec[3];
                    if (string.IsNullOrEmpty(partNumber))
                    {
                        errorText += TextError(ErrorReason.InvalidPartNumber, "") + "<br />";
                        recIsValid = false;
                    }
                    int quantity = 0;
                    if (!int.TryParse(rec[4], out quantity))
                    {
                        errorText += TextError(ErrorReason.InvalidQuantity, "") + "<br />";
                        recIsValid = false;
                    }
                    string referenceID = rec[6] ?? "";
                    if (referenceID.Length > ShoppingCartAddItem.ReferenceIDLength)
                    {
                        referenceID = referenceID.Substring(0, ShoppingCartAddItem.ReferenceIDLength);
                    }
                    bool strictlyThisNumber = !string.IsNullOrEmpty(rec[5]);
                    decimal priceClient = 0M;
                    if (!string.IsNullOrEmpty(rec[7]) && !decimal.TryParse(rec[7], out priceClient))
                    {
                        errorText += TextError(ErrorReason.InvalidPrice, "") + "<br />";
                        recIsValid = false;
                    }
                    SparePartFranch part = null;
                    // проверка существования элемента
                    if (recIsValid)
                    {
                        try
                        {
                            SparePartPriceKey SPPK = new SparePartPriceKey(manufacturer, partNumber, supplierId);
                            part = SparePartsDac.Load(DC.DataContext, SPPK);
                            if (part == null)
                            {
                                recIsValid = false;
                                errorText += TextError(ErrorReason.ItemDoesNotExist, "") + "<br />";
                            }
                        }
                        catch (ArgumentNullException e)
                        {
                            recIsValid = false;
                            errorText += TextError(ErrorReason.ItemDoesNotExist, "") + "<br />";
                        }
                        catch (InvalidOperationException e)
                        {
                            recIsValid = false;
                            errorText += TextError(ErrorReason.ItemDoesNotExist, "") + "<br />";
                        }
                    }
                    if (recIsValid)
                    {
                        SparePartPriceKey SPPK = new SparePartPriceKey(manufacturer, partNumber, supplierId);
                        // набор сгруппированной корзины для количественного анализа
                        if (groupRows.ContainsKey(SPPK))
                        {
                            groupRows[SPPK] += quantity;
                        }
                        else
                        {
                            groupRows.Add(SPPK, quantity);
                        }
                        // проверка цены
                        decimal priceCurr = part.GetFinalSalePrice(_clientGroup, _personalMarkup);
                        decimal pPrc = priceClient == 0 ? 0M : (priceCurr - priceClient) * 100 / priceClient;
                        // формирование положительного и подверждающего списков
                        if ( /*priceClient == 0 ||*/ (priceClient + Math.Round(priceClient * PrcExcessPrice / 100, 2) >= priceCurr))
                        {
                            rowsOK.Add(new CartImportRow
                            {
                                rowID = Guid.NewGuid(),
                                manufacturer = manufacturer,
                                partNumber = partNumber,
                                supplierId = supplierId,
                                referenceID = referenceID,
                                deliveryPeriod = part.DisplayDeliveryDaysMin.ToString() + "-" + part.DisplayDeliveryDaysMax.ToString(),
                                itemName = part.PartDescription,
                                priceClient = priceClient,
                                priceCurr = priceCurr,
                                pricePrc = string.Format("{0:#####0.00}", pPrc),
                                quantity = quantity,
                                rowN = rec[0] ?? "",
                                strictlyThisNumber = strictlyThisNumber
                            });
                        }
                        else
                        {
                            // Если обнаружен факт превышения цены, то проверяем является ли текущий пользователь
                            // "особым" пользователем, который имеет право загружать детали по "вчерашней" цене
                            // и если это так то вычисляем "вчерашнюю" цену добавляем к ней допустимый % превышения
                            // для этого пользователя и записываем в специальное поле (если оно заполнено то в цену
                            // в заказ пойдет цена из этого поля)
                            decimal? priceClientYesterday = null;
                            bool isErrorPrice = false;
                            if (SpecialUsers.Contains(SiteContext.Current.User.UserId) && OwnStores != null && OwnStores.Contains(part.SupplierID))
                            {
                                using (var dc = new dcCommonDataContext())
                                {
                                    try
                                    {
                                        //получаем список "вчерашних" и сегодняшних цен фтп для сравнения
                                        //если загрузка производится в понедельник, то "вчерашние" цены фтп должны браться по пятнице, субботе и воскресенью
                                        #region === old stored procedure ===
                                        //string queryTemplate = "exec srvdb4.az.dbo.spGetPricesOnDate @Number = '{0}', @Brand = '{1}', @Date = '{2}', @PriceColumn = {3}";
                                        #endregion
                                        string queryTemplate = "exec srvdb4.az.dbo.spGetPricesOnPeriod @Number='{0}', @Brand='{1}', @DateFrom='{2}', @DateTo='{3}', @PriceColumn={4}";
                                        DateTime dateFrom = (DateTime.Now.DayOfWeek == DayOfWeek.Monday) ? DateTime.Now.AddDays(-3) : DateTime.Now.AddDays(-1);
                                        DateTime dateTo = DateTime.Now;
                                        List<decimal> prices = dc.ExecuteQuery<decimal>(
                                            string.Format(queryTemplate,
                                                part.PartNumber,
                                                part.Manufacturer,
                                                dateFrom.ToString("yyyyMMdd"),
                                                dateTo.ToString("yyyyMMdd"),
                                                (int)SiteContext.Current.CurrentClient.Profile.ClientGroup))
                                            .ToList<decimal>();

                                        //для каждой из цен производим сравнение с ценой клиента в 'Excel' +- 1 копейка (чтобы учесть возможные погрешности при округлении)
                                        foreach (var price in prices)
                                        {
                                            decimal pExcell = Math.Round(priceClient, 2);	//цена клиента в 'Excel'
                                            decimal pFtp = Math.Round(price, 2);			//одна из вчерашних цен нашего Ftp
                                            if (pExcell > 0 && (pExcell == pFtp ||
                                                pExcell == (pFtp - 0.01M) ||
                                                pExcell == (pFtp + 0.01M)))
                                            {
                                                //добавляем допустимый % превышения (доли копеек отбрасываем)
                                                priceClientYesterday = pFtp + pFtp * PrcExcessPrice / 100;
                                                priceClientYesterday = decimal.Truncate((decimal)priceClientYesterday * 100) / 100;
                                                break;
                                            }
                                        }
                                        //если ни одного совпадения не найдено, то позиция отваливается с ошибкой "Несоответствие цены ФТП-прайсу"
                                        isErrorPrice = (prices.Count() > 0 && !priceClientYesterday.HasValue);
                                    }
                                    catch (Exception ex)
                                    {
                                        Logger.WriteError(@"При вычислении 'Вчерашней' цены произошла ошибка!", EventLogerID.UnknownError, EventLogerCategory.UnknownCategory, ex);
                                    }
                                    finally
                                    {
                                        if (dc.Connection.State == System.Data.ConnectionState.Open)
                                            dc.Connection.Close();
                                    }
                                }
                            }
                            if (isErrorPrice)
                            {
                                rowsER.Add(new CartImportRowError()
                                {
                                    order = 20,
                                    error = Resources.CartImport.InvalidFtpPrice /*"Несоответствие цены ФТП-прайсу"*/,
                                    manufacturer = rec[2],
                                    partNumber = rec[3],
                                    supplierId = rec[1],
                                    priceClient = rec[7],
                                    quantity = rec[4],
                                    referenceID = rec[6],
                                    rowN = rec[0],
                                    strictlyThisNumber = rec[5]
                                });
                            }
                            else
                            {
                                rowsAccept.Add(new CartImportRow
                                {
                                    rowID = Guid.NewGuid(),
                                    manufacturer = manufacturer,
                                    partNumber = partNumber,
                                    supplierId = supplierId,
                                    referenceID = referenceID,
                                    deliveryPeriod = part.DisplayDeliveryDaysMin.ToString() + "-" + part.DisplayDeliveryDaysMax.ToString(),
                                    itemName = part.PartDescription,
                                    priceClient = priceClient,
                                    priceCurr = priceCurr,
                                    pricePrc = priceClient == 0 ? "100.00" : (PrcExcessPrice == 0
                                        ? pPrc < 0.01M ? "<0.01" : string.Format("{0:#####0.00}", pPrc)
                                        : pPrc > PrcExcessPrice && pPrc < (PrcExcessPrice + 0.01M)
                                            ? string.Format(">{0:#0.00}", PrcExcessPrice)
                                            : string.Format("{0:#####0.00}", pPrc)),
                                    quantity = quantity,
                                    rowN = rec[0] ?? "",
                                    strictlyThisNumber = strictlyThisNumber,
                                    priceClientYesterday = priceClientYesterday
                                });
                            }
                        }
                    }
                    else
                    {
                        rowsER.Add(new CartImportRowError()
                        {
                            order = 20,
                            error = errorText,
                            manufacturer = rec[2],
                            partNumber = rec[3],
                            supplierId = rec[1],
                            priceClient = rec[7],
                            quantity = rec[4],
                            referenceID = rec[6],
                            rowN = rec[0],
                            strictlyThisNumber = rec[5]
                        });
                    }
                }
                // количественные проверки
                foreach (SparePartPriceKey SPPK in groupRows.Keys)
                {
                    string errorText = "";
                    SparePartFranch part = SparePartsDac.Load(DC.DataContext, SPPK);
                    if (groupRows[SPPK] < part.DefaultOrderQty)
                    {
                        // Минимальное необходимое количество для заказа
                        errorText += String.Format(
                            Resources.CartImport.MinOrderQuantity
                            /*"минимальное необходимое количество для заказа: {0}"*/,
                            part.MinOrderQty);
                    }
                    else if (groupRows[SPPK] % part.DefaultOrderQty != 0)
                    {
                        // Количество должно быть кратным числу деталей в комплекте
                        errorText += Resources.CartImport.ShallDivisibleQuantity /*"количество должно быть кратным числу деталей в комплекте ("*/ +
                        part.DefaultOrderQty
                        .Progression(part.DefaultOrderQty, 5)
                        .Select(i => i.ToString())
                        .Aggregate((acc, s) => acc + "," + s) + Resources.CartImport.etc_withRightBracket /*" и т.д.)"*/;
                    }
                    if (part.QtyInStock.GetValueOrDefault() > 0 && groupRows[SPPK] > part.QtyInStock)
                    {
                        // Количество превышает допустимый лимит
                        errorText += String.Format(
                            Resources.CartImport.QuantityExceedsAvailable
                            /*"заказанное количество превышает остатки склада, доступно: {0}"*/,
                            part.QtyInStock);
                    }
                    if (!string.IsNullOrEmpty(errorText))
                    {
                        // при наличии ошибок перекидываем из успешных списков в список количественных ошибок
                        var tAcc = rowsAccept.Where(t => t.manufacturer == SPPK.Mfr && t.partNumber == SPPK.PN && t.supplierId == SPPK.SupplierId).ToList();
                        AddToERQty(false, errorText, rowsAccept, tAcc);
                        var tOK = rowsOK.Where(t => t.manufacturer == SPPK.Mfr && t.partNumber == SPPK.PN && t.supplierId == SPPK.SupplierId).ToList();
                        AddToERQty(true, errorText, rowsOK, tOK);
                    }
                }
            }
        }
Example #7
0
        //public static string CreateClient( ClientRegistrationData regData, string managerId, bool isRestricted )
        //{
        //    if( regData == null )
        //        throw new ArgumentNullException( "regData" );
        //    return ClientProfile.Create(
        //                regData.ClientName,
        //                regData.ClientCategory,
        //                regData.TradingVolume,
        //                regData.ShippingAddress,
        //                regData.RmsStoreId,
        //                regData.Email,
        //                regData.ContactName,
        //                regData.MainPhone,
        //                regData.AuxPhone1,
        //                regData.AuxPhone2,
        //                regData.FieldOfAction,
        //                regData.DiscountCardNumber,
        //                managerId,
        //                isRestricted ).ClientId;
        //}
        //deas 29.03.2011 task3563
        //новая процедура регистрации клиента с измененным профилем
        /// <summary>
        /// Регистрация клиента с расширенным профилем
        /// </summary>
        /// <param name="regDataExt">Профиль клиента</param>
        /// <param name="managerId">Код менеджера</param>
        /// <param name="isRestricted">Ограниченный доступ</param>
        /// <returns>Код 1С клиента</returns>
        public static int CreateClient( ClientRegistrationDataExt regDataExt, string managerId, bool isRestricted, string InternalFranchName)
        {
            dcCommonDataContext DC = new dcCommonDataContext();
            if ( regDataExt == null )
                throw new ArgumentNullException( "regDataExt" );
            return ClientProfile.Create(
                "","",
                regDataExt.ClientName,
                regDataExt.Email,
                regDataExt.TradingVolume,
                regDataExt.ClientCategory,
                regDataExt.CountryID,
                regDataExt.Locality,
                regDataExt.RmsStoreID,
                regDataExt.ScopeType,
                regDataExt.DiscountCardNumber,
                regDataExt.HowKnow,
                managerId,
                isRestricted,
                InternalFranchName,

                regDataExt.ContactPersonPosition,
                regDataExt.ContactPersonName,
                regDataExt.ContactPersonSurname,
                regDataExt.ContactPersonPhone,
                regDataExt.ContactPersonExtPhone,
                regDataExt.ContactPersonFax,
                regDataExt.ContactPersonEmail,
                regDataExt.DeliveryAddress,

                regDataExt.CompanyName,
                regDataExt.CompanyRegistrationID,
                regDataExt.CompanyAddress,

                regDataExt.BankName,
                regDataExt.IBAN,
                regDataExt.SWIFT,
                regDataExt.BankAddress,

                regDataExt.DirectorName,
                regDataExt.DirectorSurname,

                regDataExt.CorrespondentBankName,
                regDataExt.CorrespondentIBAN,
                regDataExt.CorrespondentSWIFT,
                regDataExt.CorrespondentBankAddress,
                regDataExt.RegisterAs).UserId;
        }
        protected void Page_PreRender(object sender, EventArgs e)
        {
            _managerList.DataSource = ManagerBO.GetManagerList(Resources.Texts.NotSelected);
            _managerList.DataBind();

            chbIsChecked.Checked = data.Profile.IsChecked;
            //	chbIsAutoOrder.Checked = LightBO.GetIsAutoOrder(data.Profile.UserId);

            dcCommonDataContext DC = new dcCommonDataContext();
            //_ClientName.Text = data.Profile.ClientName;
            //_ClientNameIP.Text = data.Profile.ClientName;
            txtClientName.Text = data.Profile.ClientName;
            _ClientCategory.Text = data.Profile.Category.ToTextOrName();
            _TradingVolume.Text = data.Profile.TradingVolume.ToTextOrName();
            _Email.Text = data.Profile.Email;
            var country = DC.spSelCountryByID(data.Profile.CountryID).FirstOrDefault();
            _Country.Text = country == null ? "" : country.CountryName;
            var region = DC.spSelRegionByID(data.Profile.RegionID).FirstOrDefault();
            _Locality.Text = data.Profile.Locality;
            _ContactLastName.Text = data.Profile.ContactPersonSurname;
            _ContactFirstName.Text = data.Profile.ContactPersonName;
               // _ContactMiddleName.Text = data.Profile.ContactMiddleName;
            _ContactPhone.Text = data.Profile.ContactPersonPhone;
            _ContactExtPhone.Text = data.Profile.ContactPersonExtPhone;
            _ContactFax.Text = data.Profile.ContactPersonFax;
            //_ScheduleOfice.Text = data.Profile.ScheduleOfice;
            //_ScheduleStock.Text = data.Profile.ScheduleStock;
            _ShippingAddress.Text = data.Profile.DeliveryAddress;
            _ScopeType.Text = data.Profile.ScopeType;
            _DiscountCardNumber.Text = data.Profile.DiscountCardNumber;
            _HowKnow.Text = data.Profile.HowKnow;
            _ContactPosition.Text = data.Profile.ContactPersonPosition;

            _txtDirectorLastName.Text = data.Profile.DirectorSurname;
            _txtDirectorFirstName.Text = data.Profile.DirectorName;
            _txtBankName.Text = data.Profile.BankName;

            _CompanyName.Text = data.Profile.CompanyName;
            _CompanyRegistrationID.Text = data.Profile.CompanyRegistrationID;
            _CompanyAddress.Text = data.Profile.CompanyAddress;

            _txtBankName.Text = data.Profile.BankName;
            _txtIBAN.Text = data.Profile.IBAN;
            _txtSWIFT.Text = data.Profile.SWIFT;
            _txtBankAddress.Text = data.Profile.BankAddress;

            _txtCorrespondentBankName.Text = data.Profile.CorrespondentBankName;
            _txtCorrespondentIBAN.Text = data.Profile.CorrespondentIBAN;
            _txtCorrespondentSWIFT.Text = data.Profile.CorrespondentSWIFT;
            _txtCorrespondentBankAddrss.Text = data.Profile.CorrespondentBankAddress;

            email2.Text = LightBO.GetAdditionalEmail(data.Profile.UserId);

            //Пункт выдачи заказов
            var rmsStore = data.Profile.RmsStoreId != null ? AcctgRefCatalog.RmsStores[data.Profile.RmsStoreId] : null;
            if (rmsStore != null)
            {
                _RmsStores.Text = Server.HtmlEncode(rmsStore.StoreName);
            }
            else
            {
            }
            //Менеджер
            var manager = !string.IsNullOrEmpty(data.Profile.ManagerId) ? AcctgRefCatalog.RmsEmployees[data.Profile.ManagerId] : null;
            if (manager != null)
            {
                _managerList.SelectedValue = manager.EmployeeId;
            }
            else
            {
                _managerList.SelectedValue = "0";
            }

            //Отдел менеджера
            //var department = !string.IsNullOrEmpty( data.Profile.ManagerDeptId ) ? RefCatalog.RmsDepartments[data.Profile.ManagerDeptId] : null;
            //if ( department != null )
            //{
            //    _managerDepartmentLabel.Text = Server.HtmlEncode( department.TextValue );
            //}

            //Группа персональной скидки
            _clientGroupName.SelectedValue = ((int)data.Profile.ClientGroup).ToString();
            _prepaymentPercentLabel.Text = string.Format("{0:0.00}", data.Profile.PrepaymentPercent);
            _DelayDays.Text = LightBO.GetPaymentDelayDays(data.Profile.UserId).ToString();
            _paymentLimit.Text = LightBO.GetPaymentLimit(data.Profile.UserId).ToString();

            UpdateVisiblePH(Page.Controls);
        }
        protected void Page_PreRender( object sender, EventArgs e )
        {
            _checkedTrueLabel.Visible = data.Profile.IsChecked;
            _checkedFalseLabel.Visible = !data.Profile.IsChecked;

            _restrictedTrueLabel.Visible = data.Profile.IsRestricted;
            _restrictedFalseLabel.Visible = !data.Profile.IsRestricted;

            dcCommonDataContext DC = new dcCommonDataContext();
            _ClientName.Text = data.Profile.ClientName;
            _ClientCategory.Text = data.Profile.Category.ToTextOrName();
            _TradingVolume.Text = data.Profile.TradingVolume.ToTextOrName();
            _Email.Text = data.Profile.Email;
            var country = DC.spSelCountryByID( data.Profile.CountryID ).FirstOrDefault();
            _Country.Text = country == null ? "" : country.CountryName;
            var region = DC.spSelRegionByID( data.Profile.RegionID ).FirstOrDefault();
            _Region.Text = region == null ? "" : region.RegionName;
            _Locality.Text = data.Profile.Locality;
            _ContactLastName.Text = data.Profile.ContactLastName;
            _ContactFirstName.Text = data.Profile.ContactFirstName;
            _ContactMiddleName.Text = data.Profile.ContactMiddleName;
            _ContactPhone.Text = data.Profile.ContactPhone;
            _ContactExtPhone.Text = data.Profile.ContactExtPhone;
            _ContactFax.Text = data.Profile.ContactFax;
            _ScheduleOfice.Text = data.Profile.ScheduleOfice;
            _ScheduleStock.Text = data.Profile.ScheduleStock;
            _ShippingAddress.Text = data.Profile.ShippingAddress;
            _ScopeType.Text = data.Profile.ScopeType;
            _DiscountCardNumber.Text = data.Profile.DiscountCardNumber;
            _HowKnow.Text = data.Profile.HowKnow;
            _ContactPosition.Text = data.Profile.ContactPosition;
            _INN_Legal.Text = data.Profile.INN;
            _INN_IP.Text = data.Profile.INN;
            _OGRNIP.Text = data.Profile.OGRNIP;
            _OficialAddress.Text = data.Profile.OficialAddress;
            _RealAddress.Text = data.Profile.RealAddress;
            _NDSAggent.Text = data.Profile.NDSAggent ? "Является плательщиком НДС" : "Не является плательщиком НДС";
            _DirectorLastName.Text = data.Profile.DirectorLastName;
            _DirectorFirstName.Text = data.Profile.DirectorFirstName;
            _DirectorMiddleName.Text = data.Profile.DirectorMiddleName;
            _Account.Text = data.Profile.Account;
            _BankBIC.Text = data.Profile.BankBIC;
            var bank = DC.spSelBankInfoByBIC( data.Profile.BankBIC ).FirstOrDefault();
            if ( bank != null )
            {
                _BankKS.Text = bank.BankInfo_Acc;
                _BankName.Text = bank.BankInfo_Name;
            }
            _BalanceManLastName.Text = data.Profile.BalanceManLastName;
            _BalanceManFirstName.Text = data.Profile.BalanceManFirstName;
            _BalanceManMiddleName.Text = data.Profile.BalanceManMiddleName;
            _BalanceManPhone.Text = data.Profile.BalanceManPhone;
            _BalanceManPosition.Text = data.Profile.BalanceManPosition;
            _BalanceManEmail.Text = data.Profile.BalanceManEmail;
            _LegalName.Text = data.Profile.LegalName;
            _KPP.Text = data.Profile.KPP;
            _OGRN.Text = data.Profile.OGRN;
            _DirectorPosition.Text = data.Profile.DirectorPosition;

            //Пункт выдачи заказов
            var rmsStore = data.Profile.RmsStoreId != null ? AcctgRefCatalog.RmsStores[data.Profile.RmsStoreId] : null;
            if ( rmsStore != null )
            {
                _RmsStores.Text = Server.HtmlEncode( rmsStore.StoreName );
            }
            else
            {
            }
            //Менеджер
            var manager = !string.IsNullOrEmpty( data.Profile.ManagerId ) ? AcctgRefCatalog.RmsEmployees[data.Profile.ManagerId] : null;
            if ( manager != null )
            {
                _managerLabel.Text = manager.FullName;
            }

            //Отдел менеджера
            //var department = !string.IsNullOrEmpty( data.Profile.ManagerDeptId ) ? RefCatalog.RmsDepartments[data.Profile.ManagerDeptId] : null;
            //if ( department != null )
            //{
            //    _managerDepartmentLabel.Text = Server.HtmlEncode( department.TextValue );
            //}

            //Группа персональной скидки
            //_clientGroupName. = data.Profile.ClientGroupName;
            _prepaymentPercentLabel.Text = string.Format( "{0:0.00}%", data.Profile.PrepaymentPercent );
             UpdateVisiblePH( Page.Controls );
        }
Example #10
0
        //TODO: Здесь диспозиться как-то объект, из-за этого метод нельзя вызвать 2 раза за сессию
        public OrderResult SendOrder(OrderLineItemSource[] items, string custOrderNum)
        {
            if (!Rights.Contains("3"))
            {
                var ex = new Exception("Access Denied");
                Logger.WriteError(CurrentIdentityName + ": Access Denied", EventLogerID.BLException, EventLogerCategory.WebServiceError, ex);
                throw ex;
            }

            OrderResult result = null;
            _getAppLock(new StoreDataContext().Connection.ConnectionString);
            try
            {
                RmsAuto.Acctg.ClientGroup clientGroup = profile.ClientGroup;
                Logger.WriteInformation(string.Format(LoggerTemplate, "Order lines to process: " + items.Length, DateTime.Now.ToString(TimeFormat), "Enter 'SendOrder' method of web-service"), EventLogerID.AdditionalLogic, EventLogerCategory.WebServiceError, new Object[] { true });
                if (items.Length == 0) {
                    var ex = new Exception("Количество строк заказа должно быть  > 0");
                    Logger.WriteError(string.Format(LoggerTemplate, items.Length, DateTime.Now.ToString(TimeFormat), "Error checking number of lines: must be > 0"), EventLogerID.AdditionalLogic, EventLogerCategory.WebServiceError, ex);
                    throw ex;
                }
                // Сопоставление сертификата (сертификат 'замаплен' на доменную учетку) и учетки на сайте

                decimal personalMarkup = profile.PersonalMarkup;
                //подгружаем "настройки" клиента
                StoreDataContext DC = new StoreDataContext();

                var userSet = DC.spSelUserSetting(profile.UserId).FirstOrDefault();
                byte PrcExcessPrice = userSet == null ? (byte)0 : userSet.PrcExcessPrice;
                //подгружаем список "собственных складов наличия"
                List<int> ownStores = StoreRefCatalog.RefOwnStores.Items.Select(x => x.SupplierID).ToList();

                //TODO: Вынести логику проверки в общий метод для загрузки через Excel
                List<OrderItemResult> infos = new List<OrderItemResult>();
                List<OrderLine> orderLines = new List<OrderLine>();
                bool existSuccesItems = false;
                foreach (var line in items)
                {
                    //подгружаем инфу о детали
                    SparePartPriceKey key = new SparePartPriceKey(line.Manufacturer, line.PartNumber, line.SupplierID);
                    var part = SparePartsDac.Load(DC, key);
                    //производим количественные проверки, и проверку наличия детали
                    if (part == null)
                    {
                        infos.Add(
                        new OrderItemResult()
                        {
                            ItemID = line.ItemID,
                            ResultInfo = ItemResultCode.SparePartNotFound.ToTextOrName(),
                            ResultCode = (int)ItemResultCode.SparePartNotFound
                        });
                    }
                    else if (line.Qty < part.DefaultOrderQty)
                    {
                        infos.Add(
                            new OrderItemResult()
                            {
                                ItemID = line.ItemID,
                                ResultInfo = string.Format(ItemResultCode.MinOrderQtyError.ToTextOrName(), part.DefaultOrderQty),
                                ResultCode = (int)ItemResultCode.MinOrderQtyError
                            });
                    }
                    else if (line.Qty % part.DefaultOrderQty != 0)
                    {
                        infos.Add(
                            new OrderItemResult()
                            {
                                ItemID = line.ItemID,
                                ResultInfo = ItemResultCode.DefaultOrderQtyError.ToTextOrName(),
                                ResultCode = (int)ItemResultCode.DefaultOrderQtyError
                            });
                    }
                    else if (part.QtyInStock.GetValueOrDefault() > 0 && line.Qty > part.QtyInStock)
                    {
                        infos.Add(
                            new OrderItemResult()
                            {
                                ItemID = line.ItemID,
                                ResultInfo = string.Format(ItemResultCode.QtyInStockError.ToTextOrName(), part.QtyInStock),
                                ResultCode = (int)ItemResultCode.QtyInStockError
                            });
                    }
                    else
                    {
                        decimal? priceClientYesterday = null; // "Вчерашная" цена
                        bool isErrorPrice = false;
                        //проверка цены
                        //(т.е. если текущая цена > цена клиента + допустимый % превышения цены, то это факт превышения цены)
                        if (part.GetFinalSalePrice(profile.ClientGroup, profile.PersonalMarkup) >
                            line.UnitPrice + Math.Round(line.UnitPrice * PrcExcessPrice / 100, 2) &&
                            //т.е. расчет "вчерашних" цен производится ТОЛЬКО для собственных складов наличия
                            ownStores != null && ownStores.Contains(part.SupplierID))
                        {
                            using (var dc = new dcCommonDataContext())
                            {
                                try
                                {
                                    //получаем список "вчерашних" и сегодняшних цен фтп для сравнения
                                    //если загрузка производится в понедельник, то "вчерашние" цены фтп должны браться по пятнице, субботе и воскресенью
                                    string queryTemplate = "exec srvdb4.az.dbo.spGetPricesOnPeriod @Number='{0}', @Brand='{1}', @DateFrom='{2}', @DateTo='{3}', @PriceColumn={4}";
             									DateTime dateFrom = (DateTime.Now.DayOfWeek == DayOfWeek.Monday) ? DateTime.Now.AddDays(-3) : DateTime.Now.AddDays(-1);
                                    DateTime dateTo = DateTime.Now;
                                    List<decimal> prices = dc.ExecuteQuery<decimal>(
                                            string.Format(queryTemplate,
                                                part.PartNumber,
                                                part.Manufacturer,
                                                dateFrom.ToString("yyyyMMdd"),
                                                dateTo.ToString("yyyyMMdd"),
                                                (int)profile.ClientGroup))
                                            .ToList<decimal>();

                                    //для каждой из цен производим сравнение с ценой клиента +- 1 копейка (чтобы учесть возможные погрешности при округлении)
                                    //TODO: Переписать через LINQ

                                    foreach (var price in prices)
                                    {
                                        decimal pClient = Math.Round(line.UnitPrice, 2);	//цена клиента в 'Excel'
                                        decimal pFtp = Math.Round(price, 2);				//одна из вчерашних цен нашего Ftp
                                        if (pClient > 0 && (pClient == pFtp ||
                                            pClient == (pFtp - 0.01M) ||
                                            pClient == (pFtp + 0.01M)))
                                        {
                                            //добавляем допустимый % превышения (доли копеек отбрасываем)
                                            priceClientYesterday = pFtp + pFtp * PrcExcessPrice / 100;
                                            priceClientYesterday = decimal.Truncate((decimal)priceClientYesterday * 100) / 100;
                                            break;
                                        }
                                    }
                                    //если ни одного совпадения не найдено, то позиция отваливается с ошибкой "Несоответствие цены ФТП-прайсу"
                                    isErrorPrice = (prices.Count() > 0 && !priceClientYesterday.HasValue);

                                    if (prices.Count() == 0) //Если цен не найдено, ошибка
                                        isErrorPrice = true;
                                }
                                catch (Exception ex)
                                {
                                    Logger.WriteError(@"Error while calculating 'Yesterday' price!", EventLogerID.UnknownError, EventLogerCategory.UnknownCategory, ex);
                                }
                                finally
                                {

                                    if (dc.Connection.State == System.Data.ConnectionState.Open)
                                        dc.Connection.Close();
                                }
                            }
                        }

                        if (isErrorPrice)
                        {
                            infos.Add(
                            new OrderItemResult()
                            {
                                ItemID = line.ItemID,
                                ResultInfo = ItemResultCode.PriceError.ToTextOrName(),
                                ResultCode = (int)ItemResultCode.PriceError
                            });
                        }
                        else
                        {
                            OrderLine ol = new OrderLine()
                            {
                                AcctgOrderLineID = -line.ItemID, //временный ID пока УС не обработает заказ и не проставит свой ID
                                Manufacturer = part.Manufacturer,
                                PartNumber = part.PartNumber,
                                SupplierID = part.SupplierID,
                                ReferenceID = line.ReferenceID,
                                DeliveryDaysMin = part.DeliveryDaysMin,
                                DeliveryDaysMax = part.DeliveryDaysMax,
                                PartName = part.PartName,
                                PartDescription = part.PartDescription,
                                WeightPhysical = part.WeightPhysical,
                                WeightVolume = part.WeightVolume,
                                UnitPrice = (priceClientYesterday.HasValue ? priceClientYesterday.Value : part.GetFinalSalePrice(clientGroup, personalMarkup)),
                                Qty = line.Qty,
                                StrictlyThisNumber = line.StrictlyThisNumber,
                                VinCheckupData = string.Empty,
                                OrderLineNotes = string.Empty,
                                CurrentStatus = OrderLineStatusUtil.StatusByte("PreOrder")
                            };
                            orderLines.Add(ol);

                            infos.Add(
                                new OrderItemResult()
                                {
                                    ItemID = line.ItemID,
                                    ResultInfo = ItemResultCode.Successs.ToTextOrName(),
                                    ResultCode = (int)ItemResultCode.Successs
                                });
                            existSuccesItems = true;
                        }
                    }
                }

                int? orderID = null;
                if (existSuccesItems)
                {
                    orderID = OrderBO.CreateOrderForService(profile.UserId, profile.ClientId, "1", orderLines, custOrderNum);
                }

                result = new OrderResult()
                {
                    OrderID = orderID,
                    ItemResults = infos.ToArray()
                };

                if (DC.Connection.State == System.Data.ConnectionState.Open)
                {
                    DC.Connection.Close();
                }

                _releaseAppLock();
            }
            catch (Exception ex)
            {
                if (connection.State == System.Data.ConnectionState.Open)
                {
                    try
                    {
                        _releaseAppLock();
                    }
                    catch (Exception ex1)
                    {
                        connection.Close();
                        Logger.WriteError(string.Format(LoggerTemplate, result.ItemResults.Length, DateTime.Now.ToString(TimeFormat), "Error while release lock"), EventLogerID.AdditionalLogic, EventLogerCategory.WebServiceError, ex1);
                    }
                }

                Logger.WriteError(string.Format(LoggerTemplate, "Order lines processed: not defined", DateTime.Now.ToString(TimeFormat), "Exception while executing web-service"), EventLogerID.AdditionalLogic, EventLogerCategory.WebServiceError, ex);
            }

            //Записываем сколько на выходе
            //TODO: возможно это можно переписать через какое-то LINQ
            var q1 =  result.ItemResults.Where(x => x.ResultCode == (int)ItemResultCode.Successs).Count();
            var q2 =  result.ItemResults.Where(x => x.ResultCode == (int)ItemResultCode.SparePartNotFound).Count();
            var q3 =  result.ItemResults.Where(x => x.ResultCode == (int)ItemResultCode.QtyInStockError).Count();
            var q4 =  result.ItemResults.Where(x => x.ResultCode == (int)ItemResultCode.PriceError).Count();
            var q5 =  result.ItemResults.Where(x => x.ResultCode == (int)ItemResultCode.MinOrderQtyError).Count();

            Logger.WriteInformation(string.Format(LoggerTemplate, "OrderID: " + (result.OrderID) + "\rOrder lines processed: " + result.ItemResults.Count() + "\r  Success: " + q1 + ",\r  SparePartNotFound: " + q2 + ",\r  QtyInStockError: " + q3 + ",\r  PriceError: " + q4 + ",\r  MinOrderQtyError: " + q5, DateTime.Now.ToString(TimeFormat), "Successful exit of 'SendOrder' method"), EventLogerID.AdditionalLogic, EventLogerCategory.WebServiceLogic, new Object[] { true });
            return result;
        }
 private void UpdateRegion()
 {
     dcCommonDataContext DC = new dcCommonDataContext();
     List<spSelRegionByCountryResult> listRegion = DC.spSelRegionByCountry( Convert.ToInt32( _ddlCountry.SelectedValue ) ).ToList<spSelRegionByCountryResult>();
     int cRegion = listRegion.Count;
 }
 protected void _txtBankBIC_TextChanged( object sender, EventArgs e )
 {
     dcCommonDataContext DC = new dcCommonDataContext();
     //spSelBankInfoByBICResult bankinfo = DC.spSelBankInfoByBIC( _txtBankBIC.Text ).FirstOrDefault();
     //if ( bankinfo != null )
     {
         //_txtBankINN.Text = bankinfo.BankInfo_INN;
       //  _txtBankKS.Text = bankinfo.BankInfo_Acc;
        // _txtBankName.Text = bankinfo.BankInfo_Name;
        // _tstBankHave.Text = "OK";
     }
     //else
     {
         // _tstBankHave.Text = "";
         //_txtBankKS.Text = "не заполнен";
         //_txtBankName.Text = "банк не найден";
     }
 }
        protected void Page_Load( object sender, EventArgs e )
        {
            dcCommonDataContext DC = new dcCommonDataContext();
            if ( !Page.IsPostBack )
            {
                int cCountry = DC.spSelAllCountry().Count();
                foreach ( var oCountry in DC.spSelAllCountry() )
                {
                    _ddlCountry.Items.Add( new ListItem()
                    {
                        Text = oCountry.CountryName,
                        Value = oCountry.CountryID.ToString(),
                        Selected = cCountry == 1
                    } );
                }
                UpdateRegion();
                //int cScopeType = DC.spSelAllScopeType().Count();
                //foreach ( var oScopeType in DC.spSelAllScopeType() )
                //{
                //    _ddlScopeType.Items.Add(new ListItem()
                //    {
                //        Text = oScopeType.ScopeType_Name,
                //        Value = oScopeType.ScopeType_ID.ToString(),
                //        Selected = cScopeType == 1
                //    });
                //}
                //int cHKT = DC.spSelAllHowKnowType().Count();
                //foreach ( var oHKT in DC.spSelAllHowKnowType() )
                //{
                //    _ddlHKT.Items.Add( new ListItem()
                //    {
                //        Text = oHKT.HowKnowType_Name,
                //        Value = oHKT.HowKnowType_ID.ToString(),
                //        Selected = cHKT == 1
                //    } );
                //}
                //ManagerSiteContext MSC = (ManagerSiteContext)SiteContext.Current;
                //foreach ( var store in AcctgRefCatalog.RmsStores.Items.Where( s => s.IsRetail ) )
                //{
                //    _ddlRmsStores.Items.Add(new ListItem()
                //    {
                //        Text = store.FullInfo,
                //        Value = store.StoreId,
                //        Selected = MSC.ManagerInfo.StoreId == store.StoreId
                //    });
                //}
            }
            else
            {
                //spSelBankInfoByBICResult bankinfo = DC.spSelBankInfoByBIC( _txtBankBIC.Text ).FirstOrDefault();
                //if ( bankinfo == null )
                {

                }
            }
            UpdateVisiblePH( Controls );
        }
        protected void Page_Load( object sender, EventArgs e )
        {
            //lCFNDSAggentYes.Visible = NDSAggent;
            //lCFNDSAggentNo.Visible = !NDSAggent;

            dcCommonDataContext DC = new dcCommonDataContext();
            if ( !Page.IsPostBack )
            {
                CaptureImage.RefreshCapture();
                int cCountry = DC.spSelAllCountry().Count();
                foreach ( var oCountry in DC.spSelAllCountry() )
                {
                    _ddlCountry.Items.Add( new ListItem()
                    {
                        Text = oCountry.CountryName,
                        Value = oCountry.CountryID.ToString(),
                        Selected = cCountry == 1
                    } );
                }
                //UpdateRegion();
                //int cScopeType = DC.spSelAllScopeType().Count();
                //foreach ( var oScopeType in DC.spSelAllScopeType() )
                //{
                //    _ddlScopeType.Items.Add( new ListItem()
                //    {
                //        Text = oScopeType.ScopeType_Name,
                //        Value = oScopeType.ScopeType_ID.ToString(),
                //        Selected = cScopeType == 1
                //    } );
                //}
                //int cHKT = DC.spSelAllHowKnowType().Count();
                //foreach ( var oHKT in DC.spSelAllHowKnowType() )
                //{
                //    _ddlHKT.Items.Add( new ListItem()
                //    {
                //        Text = oHKT.HowKnowType_Name,
                //        Value = oHKT.HowKnowType_ID.ToString(),
                //        Selected = cHKT == 1
                //    } );
                //}
                //foreach ( var store in AcctgRefCatalog.RmsStores.Items.Where( s => s.IsRetail ) )
                //{
                //    _ddlRmsStores.Items.Add( new ListItem()
                //    {
                //        Text = store.FullInfo,
                //        Value = store.StoreId
                //    } );
                //}
            }
            //else
            //{
            //    spSelBankInfoByBICResult bankinfo = DC.spSelBankInfoByBIC( _txtBankBIC.Text ).FirstOrDefault();
            //    if ( bankinfo == null )
            //    {
            //        _rfvBankValidator.IsValid = false;
            //    }
            //}
            UpdateVisiblePH( _fillProfileWizard.Controls );

            //if (AcctgRefCatalog.RmsFranches[SiteContext.Current.InternalFranchName].isLite)
            //{
            //    TextItemControl3.TextItemID = SiteContext.Current.InternalFranchName+".ContractOffer.Opt";
            //    TextItemControl10.TextItemID = SiteContext.Current.InternalFranchName + ".ContractOffer.Rozn";
            //}

            DC.Dispose();
        }
Example #15
0
 static void spTest()
 {
     using (var dc = new dcCommonDataContext())
     {
         try
         {
             var results = dc.ExecuteQuery<int>( @"exec spTest" ).ToList();
             foreach (var res in results)
             {
                 Console.WriteLine( res );
             }
             Console.ReadLine();
         }
         catch (Exception)
         {
             throw;
         }
         finally
         {
             if (dc.Connection.State == System.Data.ConnectionState.Open)
                 dc.Connection.Close();
         }
     }
 }