예제 #1
0
        /// <summary>
        /// Malzemenin stoktaki mevcut miktarını ana biriminden dönderir.
        /// </summary>
        /// <param name="malzemeId">Stok durumu sorulan malzemenin id'si</param>
        /// <returns></returns>
        public double StokMiktariGetir(int malzemeId)
        {
            vMalzemeStokDurum stok = db.GetGeneric <vMalzemeStokDurum>(c => c.MalzemeId == malzemeId).FirstOrDefault();

            return(stok != null ? stok.MevcutStok : 0);
        }
예제 #2
0
        internal List <vMalzemeStokDurum> TipIplikIhtiyaclariGetir(vKumas kumas)
        {
            List <vMalzemeStokDurum> iplikIhtiyac = new List <vMalzemeStokDurum>();

            //atkı için iplik ihtiyaç hesaplanıyor
            if (kumas.Atki1.HasValue)
            {
                tblMalzemeler iplik = new vMalzemeler().IplikGetir(kumas.Atki1.Value);
                iplikIhtiyac.Add(new vMalzemeStokDurum()
                {
                    MalzemeId    = kumas.Atki1.Value,
                    MalzemeBagId = iplik.BaglantiId,
                    MalzemeAdi   = iplik.Adi,
                    MalzemeKodu  = iplik.Kodu,
                    MinStok      = Math.Round((this.DokumaMetre * (kumas.Atki1UstuGr.HasValue ? kumas.Atki1UstuGr.Value : 0)), 4)
                });
            }

            //zemin için iplik ihtiyaç hesaplanıyor
            if (kumas.Zemin1.HasValue)
            {
                double            zeminMetre = this.AltZeminMetre * ((kumas.ZeminCozguTel.HasValue ? kumas.ZeminCozguTel.Value : 0) + (kumas.KenarCozguTel.HasValue ? kumas.KenarCozguTel.Value : 0));
                tblMalzemeler     iplik      = new vMalzemeler().IplikGetir(kumas.Zemin1.Value);
                vMalzemeStokDurum ihtiyac    = new vMalzemeStokDurum()
                {
                    MalzemeAdi   = iplik.Adi,
                    MalzemeId    = kumas.Zemin1.Value,
                    MalzemeKodu  = iplik.Kodu,
                    MalzemeBagId = iplik.BaglantiId,
                };
                if (iplik == null || iplik.IplikNo.HasValue == false)
                {
                    ihtiyac.MinStok = 0;
                }
                else
                {
                    switch (iplik.Cins)
                    {
                    case "Denye":
                        ihtiyac.MinStok = (zeminMetre / (9000 / iplik.IplikNo.Value)) / 1000;
                        break;

                    case "Dtex":
                        ihtiyac.MinStok = zeminMetre / (10000 / iplik.IplikNo.Value) / 1000;
                        break;

                    case "Nm":
                        ihtiyac.MinStok = (zeminMetre / iplik.IplikNo.Value) / 1000;
                        break;

                    case "Ne":
                        ihtiyac.MinStok = (zeminMetre / iplik.IplikNo.Value) / 1693;
                        break;

                    default:
                        ihtiyac.MinStok = 0;
                        break;
                    }
                    ihtiyac.MinStok = Math.Round(ihtiyac.MinStok, 4);
                }
                iplikIhtiyac.Add(ihtiyac);
            }

            //hav için iplik ihtiyaç
            if (kumas.Hav1.HasValue)
            {
                double            havMetre = this.HavMetre * (kumas.HavCozguTel.HasValue ? kumas.HavCozguTel.Value : 0);
                tblMalzemeler     iplik    = new vMalzemeler().IplikGetir(kumas.Hav1.Value);
                vMalzemeStokDurum ihtiyac  = new vMalzemeStokDurum()
                {
                    MalzemeAdi   = iplik.Adi,
                    MalzemeId    = kumas.Hav1.Value,
                    MalzemeKodu  = iplik.Kodu,
                    MalzemeBagId = iplik.BaglantiId,
                };
                if (iplik == null || iplik.IplikNo.HasValue == false)
                {
                    ihtiyac.MinStok = 0;
                }
                else
                {
                    switch (iplik.Cins)
                    {
                    case "Denye":
                        ihtiyac.MinStok = (havMetre / (9000 / iplik.IplikNo.Value)) / 1000;
                        break;

                    case "Dtex":
                        ihtiyac.MinStok = havMetre / (10000 / iplik.IplikNo.Value) / 1000;
                        break;

                    case "Nm":
                        ihtiyac.MinStok = (havMetre / iplik.IplikNo.Value) / 1000;
                        break;

                    case "Ne":
                        ihtiyac.MinStok = (havMetre / iplik.IplikNo.Value) / 1693;
                        break;

                    default:
                        ihtiyac.MinStok = 0;
                        break;
                    }
                    ihtiyac.MinStok = Math.Round(ihtiyac.MinStok, 4);
                }
                iplikIhtiyac.Add(ihtiyac);
            }

            return(iplikIhtiyac);
        }