public async Task <ActionResult> Postirsaliye(postirsaliye pf)
        {
            if (pf.sipa.Tur == 1)
            {
                Irsaliye fa = new Irsaliye {
                };


                fa.Geneltop = pf.sipa.Geneltop;

                fa.CariId   = pf.sipa.CariId;
                fa.Tarih    = pf.sipa.Tarih;
                fa.Tur      = pf.sipa.Tur;
                fa.Aciklama = pf.sipa.Aciklama;

                fa.Aratop = pf.sipa.Aratop ?? -1;
                fa.Kdv    = pf.sipa.Kdv ?? -1;


                fa.Urunhareket = pf.hareket;


                _context.Irsaliye.Add(fa);

                await _context.SaveChangesAsync();

                return(Ok());
            }
            else
            {
                return(StatusCode(500));
            }
        }
        /// <summary>
        /// irsaliye sil
        /// </summary>
        public JsonResult Delete1(int ID)
        {
            if (CheckPerm(Perms.MalKabul, PermTypes.Deleting) == false)
            {
                return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet));
            }
            var _Result = Irsaliye.Delete(ID);

            return(Json(_Result, JsonRequestBehavior.AllowGet));
        }
        public JsonResult FromSiparis(frmSiparisBilgileri tbl)
        {
            if (tbl.Miktars == null)
            {
                return(Json(new Result(false, "Miktarlar gelmedi"), JsonRequestBehavior.AllowGet));
            }
            if (CheckPerm(Perms.MalKabul, PermTypes.Writing) == false)
            {
                return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet));
            }
            // sadece irsaliye daha onaylanmamışsa yani işlemleri bitmemişse ekle
            var irs = Irsaliye.Detail(tbl.Id);

            if (irs.Onay == false)
            {
                for (int i = 0; i < tbl.MalKodus.Count(); i++)
                {
                    var sql   = string.Format(@"EXEC FINSAT6{0}.wms.getMalKabulSiparisDetail @ROW_ID = {1}, @MalKodu = '{2}', @EvrakNo = '{3}'", vUser.SirketKodu, tbl.IDs[i], tbl.MalKodus[i], tbl.EvrakNos[i].Trim());
                    var satir = db.Database.SqlQuery <frmIrsaliyeMalzeme>(sql).FirstOrDefault();
                    if (satir == null)
                    {
                        return(Json(new Result(false, tbl.EvrakNos[i] + " ve " + tbl.MalKodus[i] + " için satır bulunamadı"), JsonRequestBehavior.AllowGet));
                    }
                    tbl.Miktars[i] = tbl.Miktars[i].Replace(".", "");
                    decimal miktar = tbl.Miktars[i].ToDecimal();
                    miktar = miktar > 0 ? miktar : satir.Miktar;
                    db.IRS_Detay.Add(new IRS_Detay()
                    {
                        IrsaliyeID        = tbl.Id,
                        Birim             = satir.Birim,
                        KynkSiparisMiktar = satir.BirimMiktar,
                        KynkSiparisID     = tbl.IDs[i],
                        KynkSiparisNo     = satir.EvrakNo,
                        KynkSiparisSiraNo = satir.SiraNo,
                        KynkSiparisTarih  = satir.Tarih,
                        KynkDegisSaat     = satir.DegisSaat,
                        MalKodu           = satir.MalKodu,
                        Miktar            = miktar
                    });
                }
                try
                {
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    Logger(ex, "WMS/Purchase/FromSiparis");
                    return(Json(new Result(false, "Hata oldu"), JsonRequestBehavior.AllowGet));
                }
            }
            return(Json(new Result(true, tbl.Id), JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// listeyi günceller
        /// </summary>
        public PartialViewResult GridPartial(int ID)
        {
            if (CheckPerm(Perms.MalKabul, PermTypes.Reading) == false)
            {
                return(null);
            }
            var list = IrsaliyeDetay.GetList(ID);
            var irs  = Irsaliye.Detail(ID);

            ViewBag.IrsaliyeId = ID;
            ViewBag.Onay       = irs.Onay;
            ViewBag.Yetki      = CheckPerm(Perms.MalKabul, PermTypes.Writing);
            return(PartialView("_GridPartial", list));
        }
        public JsonResult InsertMalzeme(frmMalzeme tbl)
        {
            if (CheckPerm(Perms.MalKabul, PermTypes.Writing) == false)
            {
                return(null);
            }
            // sadece irsaliye daha onaylanmamışsa yani işlemleri bitmemişse ekle
            var irs = Irsaliye.Detail(tbl.IrsaliyeId);

            if (irs.Onay == false)
            {
                return(Json(IrsaliyeDetay.Insert(tbl, irs.DepoID), JsonRequestBehavior.AllowGet));
            }
            return(Json(new Result(false, "Bu irsaliyeye ürün eklenemez"), JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// irsaliye evrak no günceller
        /// </summary>
        public JsonResult Update(string EvrakNo, int ID, string HesapKodu)
        {
            if (CheckPerm(Perms.MalKabul, PermTypes.Writing) == false)
            {
                return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet));
            }
            var _Result = new Result(false, "Bu evrak no kullanılıyor");

            // length kontrol
            if (EvrakNo.Length > 16)
            {
                _Result.Message = "Bu evrak no çok uzun.";
                return(Json(_Result, JsonRequestBehavior.AllowGet));
            }

            // birikim db kontrol
            var kontrol = db.IRS.Where(m => m.IslemTur == false && m.EvrakNo == EvrakNo && m.SirketKod == vUser.SirketKodu & m.HesapKodu == HesapKodu && m.ID != ID).FirstOrDefault();

            if (kontrol != null)
            {
                return(Json(_Result, JsonRequestBehavior.AllowGet));
            }
            // finsta db kontrol
            var sql = string.Format("SELECT EvrakNo FROM FINSAT6{0}.FINSAT6{0}.STI WHERE (EvrakNo = '{1}') AND (KynkEvrakTip = 3) AND (Chk = '{2}')", vUser.SirketKodu, EvrakNo, HesapKodu);
            var sti = db.Database.SqlQuery <string>(sql).FirstOrDefault();

            if (sti != null)
            {
                return(Json(_Result, JsonRequestBehavior.AllowGet));
            }
            // if all correct update
            var tbl = Irsaliye.Detail(ID);

            tbl.EvrakNo = EvrakNo;
            _Result     = Irsaliye.Operation(tbl);
            return(Json(_Result, JsonRequestBehavior.AllowGet));
        }
Example #7
0
        /// <summary>
        /// stoğa excelden elle ekleme
        /// </summary>
        public JsonResult Stock(int DID, HttpPostedFileBase file)
        {
            if (CheckPerm(Perms.Stok, PermTypes.Writing) == false)
            {
                return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet));
            }
            var _result = new Result(false, 0, "Hatalı dosya!");

            if (file == null || file.ContentLength == 0)
            {
                return(Json(_result, JsonRequestBehavior.AllowGet));
            }
            // gelen dosyayı oku
            var stream = file.InputStream;
            IExcelDataReader reader;

            // dosya tipini bul
            if (file.FileName.EndsWith(".xlsx"))
            {
                reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            }
            else
            {
                return(Json(_result, JsonRequestBehavior.AllowGet));
            }
            // ilk satır başlık
            reader.IsFirstRowAsColumnNames = true;
            // exceldeki bilgileri datasete aktar
            var result = reader.AsDataSet();

            // kontrol
            if (result.Tables.Count == 0)
            {
                return(Json(_result, JsonRequestBehavior.AllowGet));
            }
            if (result.Tables[0].Rows == null)
            {
                return(Json(_result, JsonRequestBehavior.AllowGet));
            }
            // loop all list
            int basarili = 0, hatali = 0, tarih = fn.ToOADate(); var hatalilar = "";

            using (var dbContextTransaction = db.Database.BeginTransaction())
            {
                // add to irs table
                var sonuc = Irsaliye.Operation(new IR()
                {
                    SirketKod = vUser.SirketKodu, DepoID = DID, EvrakNo = db.SettingsGorevNo(tarih, DID).FirstOrDefault(), HesapKodu = "Elle Ekleme", Tarih = tarih
                });
                // loop
                for (int i = 0; i < result.Tables[0].Rows.Count; i++)
                {
                    var dr = result.Tables[0].Rows[i];
                    try
                    {
                        if (dr["Hücre Adı"].ToString() != "" && dr["Mal Kodu"].ToString() != "" && dr["Birim"].ToString() != "" && dr["Miktar"].ToString2().IsNumeric() != false)
                        {
                            var katID  = db.GetHucreKatID(DID, dr["Hücre Adı"].ToString()).FirstOrDefault();
                            var miktar = dr["Miktar"].ToString().ToDecimal();
                            if (katID != null)
                            {
                                var tmp2 = Yerlestirme.Detail(katID.Value, dr["Mal Kodu"].ToString(), dr["Birim"].ToString());
                                if (tmp2 == null)
                                {
                                    tmp2 = new Yer()
                                    {
                                        KatID = katID.Value, MalKodu = dr["Mal Kodu"].ToString(), Birim = dr["Birim"].ToString(), Miktar = miktar
                                    };
                                    Yerlestirme.Insert(tmp2, vUser.Id, "Stok Elle Ekle");
                                }
                                else
                                {
                                    tmp2.Miktar += miktar;
                                    Yerlestirme.Update(tmp2, vUser.Id, "Stok Elle Ekle", miktar, false);
                                }

                                basarili++;
                            }
                            else
                            {
                                hatali++;
                                if (hatalilar != "")
                                {
                                    hatalilar += ", ";
                                }
                                hatalilar += (i + 1);
                            }
                        }
                        else
                        {
                            hatali++;
                            if (hatalilar != "")
                            {
                                hatalilar += ", ";
                            }
                            hatalilar += (i + 1);
                        }
                    }
                    catch (Exception ex)
                    {
                        hatali++;
                        if (hatalilar != "")
                        {
                            hatalilar += ", ";
                        }
                        hatalilar += (i + 1);
                        Logger(ex, "Uploads/Stock");
                    }
                }

                reader.Close();
                // update db
                try
                {
                    dbContextTransaction.Commit();
                }
                catch (Exception ex)
                {
                    Logger(ex, "Uploads/Stock");
                    _result.Message = "Hatalı satırlar var";
                    return(Json(_result, JsonRequestBehavior.AllowGet));
                }
            }

            if (basarili > 0)
            {
                _result.Message = basarili + " adet satır eklendi";
                // log
                LogActions("", "Uploads", "Stock", ComboItems.alYükle, 0, "Satır Sayısı: " + basarili);
            }
            else
            {
                _result.Message = "";
            }
            if (basarili > 0 && hatali > 0)
            {
                _result.Message += ", ";
            }
            if (hatali > 0)
            {
                _result.Message += hatali + " satır hata verdi. Hatalı satırlar: \n" + hatalilar;
            }
            else
            {
                _result.Status = true;
            }
            return(Json(_result, JsonRequestBehavior.AllowGet));
        }