コード例 #1
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
 public void Create(Product product, string username)
 {
     FailIfExistProduct(product);
     product.Status = StatusProduct.AKTIF;
     ReportingRepository.Save<Product>(product);
     SaveTypeIfNecessary(product);
     PublishProductCreated(product, username);
 }
コード例 #2
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
        public void ForceUpdate(Product p, string username)
        {
            Product product = ProductRepository.GetProductById(p.id, p.BranchId);
            if (product.NoPolisi != p.NoPolisi)
            {
                if (ProductRepository.GetByNoPolisi(p.NoPolisi, p.BranchId) != null)
                    throw new Exception(string.Format("Kendaraan dengan no polisi {0} telah ada.", p.NoPolisi));
            }

            product.HargaBeli = p.HargaBeli;
            product.Merk = p.Merk;
            product.NoBpkb = p.NoBpkb;
            product.NoMesin = p.NoMesin;
            product.NoPolisi = p.NoPolisi;
            product.NoRangka = p.NoRangka;
            product.Tahun = p.Tahun;
            product.Type = p.Type;
            product.Warna = p.Warna;
            ReportingRepository.Update<Product>(product, new { Id = product.id });
            SaveTypeIfNecessary(p);
            PublishProductChanged(p, username);
        }
コード例 #3
0
 private void UpdateProduct(SupplierInvoice si, string username)
 {
     Product product = new Product()
     {
         id = si.ProductId,
         BranchId = si.BranchId,
         HargaBeli = si.HargaBeli,
         Merk = si.Merk,
         NoBpkb = si.NoBpkb,
         NoMesin = si.NoMesin,
         NoPolisi = si.NoPolisi,
         NoRangka = si.NoRangka,
         Status = StatusProduct.AKTIF,
         Tahun = si.Tahun,
         Type = si.Type,
         Warna = si.Warna
     };
     ProductService.Update(product, username);
 }
コード例 #4
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
 public void Delete(Product product)
 {
     ReportingRepository.Delete<Product>(product);
 }
コード例 #5
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
 private void SaveTypeIfNecessary(Product product)
 {
     if (ProductRepository.GetTypeByName(product.Type, product.BranchId) == null)
     {
         TypeProduct type = new TypeProduct { Id = Guid.NewGuid(), Name = product.Type, BranchId = product.BranchId };
         ReportingRepository.Save<TypeProduct>(type);
     }
 }
コード例 #6
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
 private void PublishProductCreated(Product p, string username)
 {
     _bus.Publish(new ProductCreated { Payload = p, UserName = username });
 }
コード例 #7
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
 private void FailIfExistProduct(Product product)
 {
     if (ProductRepository.GetByNoPolisi(product.NoPolisi, product.BranchId) != null)
         throw new Exception(string.Format("Kendaraan dengan no polisi {0} telah ada.", product.NoPolisi));
     if (ProductRepository.GetByNoRangka(product.NoRangka, product.BranchId) != null)
         throw new Exception(string.Format("Kendaraan dengan no rangka {0} telah ada.", product.NoRangka));
     if (ProductRepository.GetByNoMesin(product.NoMesin, product.BranchId) != null)
         throw new Exception(string.Format("Kendaraan dengan no mesin {0} telah ada.", product.NoMesin));
     if (ProductRepository.GetByNoBpkb(product.NoBpkb, product.BranchId) != null)
         throw new Exception(string.Format("Kendaraan dengan no bpkb {0} telah ada.", product.NoBpkb));
 }
コード例 #8
0
ファイル: ProductService.cs プロジェクト: AsliMotor/AMQ
 public void Update(Product p, string username)
 {
     Product product = ProductRepository.GetProductById(p.id, p.BranchId);
     if (product.NoPolisi != p.NoPolisi)
     {
         if (ProductRepository.GetByNoPolisi(p.NoPolisi, p.BranchId) != null)
             throw new Exception(string.Format("Kendaraan dengan no polisi {0} telah ada.", p.NoPolisi));
     }
     if (product.Status == StatusProduct.TERJUAL)
         throw new ApplicationException(string.Format("Kendaraan dengan no polisi {0} telah terjual. (silahkan tanya user dengan hak akses Owner)", p.NoPolisi));
     ForceUpdate(p, username);
 }
コード例 #9
0
ファイル: ProductController.cs プロジェクト: AsliMotor/AMQ
 public JsonResult Product(Product product)
 {
     try
     {
         CompanyProfile cp = new CompanyProfile(this.HttpContext);
         ProductService.Update(product, cp.UserName);
         return Json(new { error = false, data = product }, JsonRequestBehavior.AllowGet);
     }
     catch (Exception ex)
     {
         return Json(new { error = true, message = ex.Message }, JsonRequestBehavior.AllowGet);
     }
 }