Ejemplo n.º 1
0
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            Offer currentOffer = UICurrentManager.Instance.CurrentOffer;

            int[] selectedRows = gridView2.GetSelectedRows();
            List <OfferMaterialListModel> models = gridView2.DataSource as List <OfferMaterialListModel>;

            OfferMaterialListModel[] selectedRowsItems = models.ToArray();

            foreach (int item in selectedRows)
            {
                OfferMaterialListModel pozModel     = selectedRowsItems[item];
                OfferMaterialList      selectedItem = currentOffer.MaterialList.Where(p => p.PozOBFId == pozModel.PozOBFId).Single();
                currentOffer.MaterialList.Remove(selectedItem);
                if (selectedItem.Id > 0)
                {
                    selectedItem.IsMarkedForDeletion = true;
                    OfferMaterialListProvider.Instance.Save(selectedItem);
                }
            }

            List <OfferMaterialList>      items      = currentOffer.MaterialList.Where(p => !p.IsPoz).ToList();
            List <OfferMaterialListModel> dataSource = IhalematikModelBase.GetModels <OfferMaterialListModel, OfferMaterialList>(items).ToList();

            grdAddedOBF.DataSource = null;
            grdAddedOBF.DataSource = dataSource;
            this.LoadMaterialList();
        }
Ejemplo n.º 2
0
        private void gridViewSupplier_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            colRisk.Visible          = false;
            colPriceWithRisk.Visible = false;
            int supplierId = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <int>(gridViewSupplier.GetFocusedRowCellValue("Id"));
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("OfferId", UICurrentManager.Instance.CurrentOffer.Id);
            parameters.Add("SupplierId", supplierId);
            List <SupplierMaterialList> supplierMaterialList = SupplierMaterialListProvider.Instance.GetItems(parameters);

            List <OfferMaterialListModel> models = new List <OfferMaterialListModel>();

            if (supplierMaterialList.Count != 0)
            {
                foreach (var item in supplierMaterialList)
                {
                    if (item.Price != 0)
                    {
                        OfferMaterialListModel model = new OfferMaterialListModel(item.MaterialList);
                        model.Price = item.PriceWithRate;
                        model.KDV   = item.KDV;
                        model.Risk  = item.Risk;
                        model.SupplierMaterialList   = item;
                        model.SupplierMaterialListId = item.Id;
                        models.Add(model);
                    }
                }
            }
            grdMaterialList.DataSource = models;
        }
Ejemplo n.º 3
0
        private void frm_MalzemeBazindaTedarikciFiyatDetay_Shown(object sender, EventArgs e)
        {
            OfferMaterialList offerMaterialList = OfferMaterialListProvider.Instance.GetItem(this.SelectedOfferMaterialListId);

            txtNumber.Text      = offerMaterialList.PozOBF.Number;
            txtDescription.Text = offerMaterialList.PozOBF.Description;
            txtUnit.Text        = offerMaterialList.PozOBF.Unit;

            Dictionary <string, object> param = new Dictionary <string, object>();

            param.Add("OfferId", UICurrentManager.Instance.CurrentOffer.Id);
            param.Add("MaterialListId", this.SelectedOfferMaterialListId);

            List <SupplierMaterialList>   items  = SupplierMaterialListProvider.Instance.GetItems(param);
            List <OfferMaterialListModel> models = new List <OfferMaterialListModel>();

            if (items != null)
            {
                foreach (var item in items)
                {
                    OfferMaterialListModel model = new OfferMaterialListModel(item.MaterialList);
                    model.SupplierName = item.Supplier.CompanyName;
                    model.Price        = item.Price;
                    models.Add(model);
                }
            }
            grdMaterialList.DataSource = models;
        }
        private void btnEkle_Click(object sender, EventArgs e)
        {
            Offer currentOffer = UICurrentManager.Instance.CurrentOffer;

            int[] selectedRows = gridView1.GetSelectedRows();

            List <PozModel> dataSource = grdPozList.DataSource as List <PozModel>;

            if (dataSource == null)
            {
                return;
            }
            PozModel[] selectedRowsItems = dataSource.ToArray();

            foreach (int item in selectedRows)
            {
                PozModel          pozModel     = selectedRowsItems[item];
                OfferMaterialList materialList = new OfferMaterialList();
                materialList.IsPoz    = true;
                materialList.PozOBFId = pozModel.Id.Value;
                materialList.Offer    = currentOffer;
                List <OfferMaterialList> items = currentOffer.MaterialList.Where(p => p.PozOBFId == materialList.PozOBFId && p.IsPoz).ToList();

                if (items.Count == 0)
                {
                    currentOffer.MaterialList.Add(materialList);
                }
            }

            List <OfferMaterialList>      offerMaterialLists = currentOffer.MaterialList.Where(p => p.IsPoz).ToList();
            List <OfferMaterialListModel> models             = new List <OfferMaterialListModel>();

            foreach (OfferMaterialList item in offerMaterialLists)
            {
                OfferMaterialListModel model = new OfferMaterialListModel(item);
                models.Add(model);
            }

            grdAddedPoz.DataSource = null;
            grdAddedPoz.DataSource = models;
            this.LoadPozListGrid();
        }
Ejemplo n.º 5
0
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            List <OfferMaterialListModel> dataSoruce = new List <OfferMaterialListModel>();

            if (rdSortPrice.SelectedIndex == 0)
            {
                List <SupplierMaterialList> supplierMaterialLists = SupplierMaterialListProvider.Instance.GetItems("OfferId", UICurrentManager.Instance.CurrentOffer.Id);
                var groupedMaterial = supplierMaterialLists.GroupBy(p => p.MaterialListId);

                foreach (var item in groupedMaterial)
                {
                    SupplierMaterialList supplierMaterialList = item.Where(p => p.Price != 0).OrderBy(p => p.Price).FirstOrDefault();

                    if (supplierMaterialList == null)
                    {
                        supplierMaterialList = item.First();
                    }
                    if (supplierMaterialList.Price != 0)
                    {
                        OfferMaterialListModel model = new OfferMaterialListModel(supplierMaterialList.MaterialList);
                        model.KDV                    = supplierMaterialList.KDV;
                        model.Price                  = supplierMaterialList.PriceWithRate;
                        model.SupplierName           = supplierMaterialList.Supplier.CompanyName;
                        model.SupplierMaterialList   = supplierMaterialList;
                        model.SupplierMaterialListId = supplierMaterialList.Id;
                        model.Risk                   = supplierMaterialList.Risk;
                        dataSoruce.Add(model);
                    }
                }
            }
            else if (rdSortPrice.SelectedIndex == 1)
            {
                List <SupplierMaterialList> supplierMaterialLists = SupplierMaterialListProvider.Instance.GetItems("OfferId", UICurrentManager.Instance.CurrentOffer.Id);
                var groupedMaterial = supplierMaterialLists.GroupBy(p => p.MaterialListId);

                foreach (var item in groupedMaterial)
                {
                    List <SupplierMaterialList> items = item.Where(p => p.Price != 0).OrderBy(p => p.Price).ToList();
                    SupplierMaterialList        supplierMaterialList = new SupplierMaterialList();

                    if (items.Count == 0)
                    {
                        supplierMaterialList = item.FirstOrDefault();
                    }
                    else if (items.Count < 3)
                    {
                        supplierMaterialList = items.First();
                    }
                    else
                    {
                        double count = items.Count;
                        count = (items.Count / 2) - 1;
                        supplierMaterialList = items.ToArray()[(int)Math.Round(count)];
                    }
                    OfferMaterialListModel model = new OfferMaterialListModel(supplierMaterialList.MaterialList);
                    model.SupplierMaterialListId = supplierMaterialList.Id;
                    model.KDV  = supplierMaterialList.KDV;
                    model.Risk = supplierMaterialList.Risk;
                    model.SupplierMaterialList = supplierMaterialList;
                    model.Price        = supplierMaterialList.Price;
                    model.SupplierName = supplierMaterialList.Supplier.CompanyName;
                    dataSoruce.Add(model);
                }
            }
            grdMaterialList.DataSource = dataSoruce;
            if (dataSoruce != null && dataSoruce.Count != 0)
            {
                btnKaydet.Visible = true;
                //pnltoplam.Visible = true;
                this.CalculateInnerValues();
            }
        }
        private void ReadExcel(string path)
        {
            bool isException = false;

            this.SupplierName     = string.Empty;
            this.OfferNumber      = string.Empty;
            this.OfferDescription = string.Empty;
            this.MaterialLists    = new List <OfferMaterialListModel>();
            FileStream stream = null;

            try
            {
                stream = System.IO.File.Open(@"" + path + "", FileMode.Open, FileAccess.Read);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lütfen yüklemek istediğiniz excel dosyasını kapatınız.");
                LoggingManager.Instance.SaveErrorLog(ex);
                return;
            }
            IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);

            double currentSupplierId = 0;
            //if (CurrentManager.Instance.CurrentOffer == null)
            //{
            //    MessageBox.Show("Lütfen yüklemek istediğiniz teklifi aktif hale getiriniz.");
            //    return;
            //}
            int i = 0;

            while (excelReader.Read())
            {
                if (i >= 6)
                {
                    try
                    {
                        double offerId = 0;
                        try
                        {
                            offerId = excelReader.GetDouble(1);
                        }
                        catch (Exception ex)
                        {
                            LoggingManager.Instance.SaveErrorLog(ex);
                            break;
                        }
                        if (UICurrentManager.Instance.CurrentOffer == null)
                        {
                            Offer offer = OfferProvider.Instance.GetItem((int)offerId);
                            if (offer == null)
                            {
                                MessageBox.Show("Yüklemeye çalıştığınız teklif bulunamadi.");
                                return;
                            }
                            MessageBox.Show("Yüklemeye çalıştığınız teklif aktif teklife ait değildir." + offer.Number + "nolu ve " + offer.Description + "adlı teklifi aktif hale getirip yükleyiniz");
                            stream.Close();
                            return;
                        }

                        if (UICurrentManager.Instance.CurrentOffer != null)
                        {
                            if (UICurrentManager.Instance.CurrentOffer.Id != offerId)
                            {
                                Offer offer = OfferProvider.Instance.GetItem((int)offerId);
                                MessageBox.Show("Yüklemeye çalıştığınız teklif aktif teklife ait değildir." + offer.Number + " nolu ve " + offer.Description + "adlı teklifi aktif hale getirip yükleyiniz");
                                stream.Close();
                                return;
                            }
                        }

                        double supplierId = currentSupplierId = excelReader.GetDouble(2);
                        double materialId = excelReader.GetDouble(3);

                        string description = excelReader.GetString(5);
                        string unit        = excelReader.GetString(6);

                        string currencyType = excelReader.GetString(7);

                        double quantity = excelReader.GetDouble(8);
                        double kdv      = 0;
                        try
                        {
                            kdv = excelReader.GetDouble(9) * 100;
                        }
                        catch (Exception ex)
                        {
                            LoggingManager.Instance.SaveErrorLog(ex);
                        }

                        double price = 0;
                        try
                        {
                            price = excelReader.GetDouble(10);
                        }
                        catch (Exception ex)
                        {
                            LoggingManager.Instance.SaveErrorLog(ex);
                        }

                        Dictionary <string, object> parameters = new Dictionary <string, object>();
                        parameters.Add("SupplierId", supplierId);
                        parameters.Add("MaterialListId", materialId);
                        parameters.Add("OfferId", offerId);

                        SupplierMaterialList supplierMaterialList = SupplierMaterialListProvider.Instance.GetItems(parameters).FirstOrDefault();
                        if (supplierMaterialList != null)
                        {
                            supplierMaterialList.Price        = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <double>(price);
                            supplierMaterialList.KDV          = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <double>(kdv);
                            supplierMaterialList.CurrencyType = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <CurrencyTypesEnum>(currencyType);
                            SupplierMaterialListProvider.Instance.Save(supplierMaterialList);

                            OfferMaterialListModel offerMaterialList = new OfferMaterialListModel(supplierMaterialList.MaterialList);
                            offerMaterialList.Price = supplierMaterialList.PriceWithRate;
                            offerMaterialList.KDV   = supplierMaterialList.KDV;
                            this.MaterialLists.Add(offerMaterialList);
                            if (string.IsNullOrEmpty(this.SupplierName))
                            {
                                this.SupplierName = supplierMaterialList.Supplier.CompanyName;
                            }
                            if (string.IsNullOrEmpty(this.OfferNumber))
                            {
                                this.OfferNumber = supplierMaterialList.Offer.Number;
                            }
                            if (string.IsNullOrEmpty(this.OfferDescription))
                            {
                                this.OfferDescription = supplierMaterialList.Offer.Description;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        LoggingManager.Instance.SaveErrorLog(ex);
                        //MessageBox.Show("Yuklediğiniz excel in formatını kontrol ediniz.");
                        //TODO feyzullahg hata olustu mesaji gostermek lazim.
                        isException = true;
                        break;
                    }
                }
                i++;
            }
            stream.Close();
            if (!isException)
            {
                if (this.MaterialLists == null || this.MaterialLists.Count == 0)
                {
                    MessageBox.Show("Dosyada yüklenecek malzeme bulunamadı.");
                }
                else
                {
                    if (currentSupplierId > 0)
                    {
                        Supplier supplier = SupplierProvider.Instance.GetItem((int)currentSupplierId);
                        if (supplier != null)
                        {
                            double score = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <double>(supplier.Score);
                            score         += 10;
                            supplier.Score = score.ToString();
                            SupplierProvider.Instance.Save(supplier);
                        }
                    }
                    //frm_MesajFormu mf = new frm_MesajFormu();
                    //mf.lblMesaj.Text = this.SupplierName + " Firmasının \nTeklif dosyası aktarıldı...";
                    //mf.ShowDialog();
                    UIPopupManager.Instance.ShowPopup();
                }
            }
            grdMaterialList.DataSource = this.MaterialLists;
            lblSupplierName.Text       = this.SupplierName;
            lblOfferNumber.Text        = this.OfferNumber;
            lblOfferDescription.Text   = this.OfferDescription;
        }