예제 #1
0
        public ProduksiModel GetData(string id)
        {
            ProduksiModel result = null;

            var sSql = @"
                SELECT
                    ProduksiID, Tgl, Jam, Keterangan
                FROM
                    Produksi
                WHERE
                    ProduksiID = @ProduksiID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@ProduksiID", id);
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        dr.Read();
                        result = new ProduksiModel
                        {
                            ProduksiID = id,
                            Tgl        = dr["Tgl"].ToString().ToTglDMY(),
                            Jam        = dr["Jam"].ToString(),
                            Keterangan = dr["Keterangan"].ToString()
                        };
                    }
                }
            return(result);
        }
예제 #2
0
        public void Insert(ProduksiModel model)
        {
            var sSql = @"
                INSERT INTO
                    Produksi (
                        ProduksiID, Tgl, Jam, Keterangan )
                VALUES (
                        @ProduksiID, @Tgl, @Jam, @Keterangan) ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@ProduksiID", model.ProduksiID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
예제 #3
0
        public IEnumerable <ProduksiModel> ListData(string tgl1, string tgl2)
        {
            List <ProduksiModel> result = null;
            var sSql = @"
                SELECT
                    ProduksiID, Tgl, Jam, Keterangan
                FROM
                    Produksi
                WHERE
                    Tgl BETWEEN @Tgl1 AND @Tgl2 ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@Tgl1", tgl1);
                    cmd.AddParam("@Tgl2", tgl2);
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        result = new List <ProduksiModel>();
                        while (dr.Read())
                        {
                            var item = new ProduksiModel
                            {
                                ProduksiID = dr["ProduksiID"].ToString(),
                                Tgl        = dr["Tgl"].ToString().ToTglDMY(),
                                Jam        = dr["Jam"].ToString(),
                                Keterangan = dr["Keterangan"].ToString()
                            };
                            result.Add(item);
                        }
                    }
                }
            return(result);
        }
예제 #4
0
        public void Update(ProduksiModel model)
        {
            var sSql = @"
                UPDATE
                    Produksi 
                SET 
                    Tgl = @Tgl, 
                    Jam = @Jam, 
                    Keterangan = @Keterangan
                WHERE
                    ProduksiID = @ProduksiID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@ProduksiID", model.ProduksiID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
예제 #5
0
        public ProduksiModel Save(ProduksiModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            //  cek tgl
            if (!model.Tgl.IsValidTgl("dd-MM-yyyy"))
            {
                throw new ArgumentException("Tgl invalid");
            }

            //  cek jam
            if (!model.Jam.IsValidJam("HH:mm:ss"))
            {
                throw new ArgumentException("Jam invalid");
            }

            //  validasi list material
            if (model.ListMaterial == null)
            {
                throw new ArgumentException("Material koosong");
            }
            if (model.ListMaterial.Count() == 0)
            {
                throw new ArgumentException("Material koosong");
            }

            //  cek brg material
            foreach (var item in model.ListMaterial)
            {
                //  cek BrgID
                var brg = dep.BrgDal.GetData(item.BrgID);
                if (brg == null)
                {
                    throw new ArgumentException("Material BrgID invalid");
                }
                item.BrgName = brg.BrgName;

                //  qty tidak boleh nol atau minus
                if (item.Qty <= 0)
                {
                    throw new ArgumentException("Material Qty = 0 or Minus");
                }
            }

            //  validasi list hasil
            if (model.ListHasil == null)
            {
                throw new ArgumentException("Hasil koosong");
            }
            if (model.ListHasil.Count() == 0)
            {
                throw new ArgumentException("Hasil koosong");
            }

            //  cek brg hasil
            foreach (var item in model.ListHasil)
            {
                //  cek BrgID
                var brg = dep.BrgDal.GetData(item.BrgID);
                if (brg == null)
                {
                    throw new ArgumentException("Hasil BrgID invalid");
                }
                item.BrgName = brg.BrgName;
                //  qty tidak boleh nol atau minus
                if (item.Qty <= 0)
                {
                    throw new ArgumentException("Hasil Qty = 0 or Minus");
                }
            }

            //  simpan
            using (var trans = TransHelper.NewScope())
            {
                //  generate nomor transaksi
                if (model.ProduksiID.Trim() == "")
                {
                    model.ProduksiID = GenNewID();
                }

                //  hapus data lama
                dep.ProduksiHasilDal.Delete(model.ProduksiID);
                dep.ProduksiMaterialDal.Delete(model.ProduksiID);
                dep.ProduksiDal.Delete(model.ProduksiID);

                //  simpan data baru
                dep.ProduksiDal.Insert(model);
                foreach (var item in model.ListMaterial)
                {
                    dep.ProduksiMaterialDal.Insert(item);
                }
                foreach (var item in model.ListHasil)
                {
                    dep.ProduksiHasilDal.Insert(item);
                }

                trans.Complete();
            }
            return(model);
        }