Пример #1
0
        public GRNItemModel Add(Product product, DiscriminatorPengirimanBarang discriminator, int qty)
        {
            GRNItemModel item = null;
            item = FindByBarcode(product.Barcode, product.TenanId,discriminator);
            if (item != null)
            {
                item.Qty = qty;
                item.CalculateTotal();
            }
            else
            {
                Unit defaultUnit = MasterDataRepository.FindAllUnits(product.TenanId).Where(u => u.UnitId == product.UnitId).FirstOrDefault();
                item = new GRNItemModel()
                {
                    UserId = context.User.Identity.Name,
                    ProductId = product.ProductId,
                    Barcode = product.Barcode,
                    Code = product.Kode,
                    TenanId = product.TenanId,
                    NamaBarang = product.Nama,
                    Qty = qty,
                    Unit = product.UnitName,
                    Harga = product.HargaJual,
                    Jumlah = product.HargaJual * qty,
                    UnitId = defaultUnit == null ? Guid.Empty : defaultUnit.ModelGuid,
                    Discriminator = Enum.GetName(typeof(DiscriminatorPengirimanBarang), discriminator)
                };
                ap1Db.GRNItem.Add(item);
            }
            ap1Db.SaveChanges();

            return item;
        }
Пример #2
0
        public void Kirim(GRNModel grn,int tenanId, DiscriminatorPengirimanBarang discriminator)
        {
            Ccy ccy = MasterDataRepository.FindAllCurrencies(tenanId).Where(c => c.CcyId == grn.CcyId).FirstOrDefault();
            PengirimanBarangMessage msg = new PengirimanBarangMessage
            {
                Guid = Guid.NewGuid(),
                TenanId = tenanId,
                CcyCode = ccy == null ? "" : ccy.Kode,
                KodeTransaksi = grn.KodeTransaksi,
                TanggalTransaksi = grn.TanggalTransaksi,
                NamaPengirim = grn.NamaPengirim,
                Referensi = grn.Referensi,
                Keterangan = grn.Keterangan,
                Discriminator = Enum.GetName(typeof(DiscriminatorPengirimanBarang), discriminator)
            };

            IList<Unit> units = MasterDataRepository.FindAllUnits(tenanId);

            IList<GRNItemMessage> itemMessages = new List<GRNItemMessage>();
            List<GRNItemModel> grnItems = (List<GRNItemModel>)GetItems(tenanId,discriminator);
            grnItems.ForEach(item =>
                {
                    Product product = MasterDataRepository.FindProductById(tenanId, item.ProductId);

                    if (item.Items != null)
                    {
                        productGuid = JsonConvert.DeserializeObject<Items>(item.Items);
                    }

                    itemMessages.Add(new GRNItemMessage
                    {
                        Guid = Guid.NewGuid(),
                        UnitGuid = item.UnitId,
                        ProductGuid = item.ProductId == 0 ? productGuid.ProductGuid : product.ModelGuid,
                        Qty = item.Qty,
                        Harga = item.Harga,
                        Jumlah = item.Jumlah,
                        Items = item.Items
                    });
                });
            msg.Items = itemMessages.ToArray();
            new RabbitHelper().SendPengirimanBarangExchange<PengirimanBarangMessage>(msg);

            grnItems.ForEach(item => ap1Db.GRNItem.Remove(item));
            ap1Db.SaveChanges();
        }
Пример #3
0
 public GRNItemModel FindByBarcode(string barcode, int tenanId, DiscriminatorPengirimanBarang discriminator)
 {
     string _discriminator = Enum.GetName(typeof(DiscriminatorPengirimanBarang), discriminator);
     return ap1Db.GRNItem.Where(item => item.Barcode == barcode &&
                                        item.UserId == context.User.Identity.Name &&
                                        item.TenanId == tenanId && item.Discriminator == _discriminator).FirstOrDefault();
 }
Пример #4
0
 public IList<GRNItemModel> GetItems(int tenanId, DiscriminatorPengirimanBarang discriminator)
 {
     string _discriminator = Enum.GetName(typeof(DiscriminatorPengirimanBarang), discriminator);
     return ap1Db.GRNItem.Where(item => item.UserId == context.User.Identity.Name &&
                                        item.TenanId == tenanId && item.Discriminator == _discriminator).ToList();
 }
Пример #5
0
 public void DeleteAll(int tenanId, DiscriminatorPengirimanBarang discriminator)
 {
     string _discriminator = Enum.GetName(typeof(DiscriminatorPengirimanBarang), discriminator);
     IList<GRNItemModel> deleteItem = ap1Db.GRNItem.Where(item => item.UserId == context.User.Identity.Name &&
                                        item.TenanId == tenanId && item.Discriminator == _discriminator).ToList();
     if (deleteItem.Count != 0)
     {
         foreach(GRNItemModel item in deleteItem)
         {
             ap1Db.GRNItem.Remove(item);
         }
         ap1Db.SaveChanges();
     }
 }