public int EPOPost(List <ExternalPurchaseOrder> ListEPO, string user) { int Updated = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { var Ids = ListEPO.Select(d => d.Id).ToList(); var listData = this.dbSet .Where(m => Ids.Contains(m.Id) && !m.IsDeleted) .Include(d => d.Items) .ThenInclude(d => d.Details) .ToList(); listData.ForEach(m => { EntityExtension.FlagForUpdate(m, user, "Facade"); m.IsPosted = true; foreach (var item in m.Items) { EntityExtension.FlagForUpdate(item, user, "Facade"); foreach (var detail in item.Details) { EntityExtension.FlagForUpdate(detail, user, "Facade"); InternalPurchaseOrderItem internalPurchaseOrderItem = this.dbContext.InternalPurchaseOrderItems.FirstOrDefault(s => s.Id == detail.POItemId); internalPurchaseOrderItem.Status = "Sudah diorder ke Supplier"; PurchaseRequestItem purchaseRequestItem = this.dbContext.PurchaseRequestItems.FirstOrDefault(s => s.Id == detail.PRItemId); purchaseRequestItem.Status = "Sudah diorder ke Supplier"; } } }); Updated = dbContext.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Updated); }
public async Task Should_Success_Update_Data() { PurchaseRequest model = await DataUtil.GetTestData("Unit test"); var Response = await Facade.Update((int)model.Id, model, "Unit Test"); Assert.NotEqual(0, Response); PurchaseRequestItem modelItem = DataUtil.GetNewData().Items.FirstOrDefault(); model.Items.Add(modelItem); var ResponseAddItem = await Facade.Update((int)model.Id, model, "Unit Test"); Assert.NotEqual(0, ResponseAddItem); model.Items.Remove(modelItem); var ResponseRemoveItem = await Facade.Update((int)model.Id, model, "Unit Test"); Assert.NotEqual(0, ResponseRemoveItem); }
public int Delete(int id, string user) { int Deleted = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { var m = this.dbSet .Include(d => d.Items) .SingleOrDefault(pr => pr.Id == id && !pr.IsDeleted); EntityExtension.FlagForDelete(m, user, "Facade"); PurchaseRequest purchaseReq = dbContext.PurchaseRequests.FirstOrDefault(a => a.Id.ToString() == m.PRId); purchaseReq.IsUsed = false; foreach (var item in m.Items) { var n = this.dbContext.InternalPurchaseOrderItems .Count(pr => pr.PRItemId == item.PRItemId && !pr.IsDeleted); if (n == 1) { PurchaseRequestItem purchaseRequestItem = this.dbContext.PurchaseRequestItems.FirstOrDefault(s => s.Id == item.PRItemId); purchaseRequestItem.Status = "Belum diterima Pembelian"; } EntityExtension.FlagForDelete(item, user, "Facade"); } Deleted = dbContext.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Deleted); }
public IActionResult Add(PurchaseRequestItem PurchaseRequestItem, Specification Specification) { int max_id = 0; try { max_id = _db.PurchaseRequestItemSpecifications.Max((pris) => pris.Id); } catch { } PurchaseRequestItemSpecification pris = new PurchaseRequestItemSpecification() { Id = max_id, PurchaseRequestItem = PurchaseRequestItem, Specification = Specification }; _db.PurchaseRequestItemSpecifications.Add(pris); _db.SaveChanges(); return(Ok()); }
public ActionResult Print(int Id) { ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/Reports"), "PurchaseRequest.rpt")); DataSet ds = new DataSet(); ds.Tables.Add("Head"); ds.Tables.Add("Items"); //-------HEAD ds.Tables["Head"].Columns.Add("PurchaseRequestNo"); ds.Tables["Head"].Columns.Add("PurchaseRequestDate"); ds.Tables["Head"].Columns.Add("WorkShopRequestId"); ds.Tables["Head"].Columns.Add("CustomerName"); //ds.Tables["Head"].Columns.Add("CustomerName"); ds.Tables["Head"].Columns.Add("SpecialRemarks"); ds.Tables["Head"].Columns.Add("RequiredDate"); ds.Tables["Head"].Columns.Add("CustomerOrderRef"); ds.Tables["Head"].Columns.Add("WorkShopRequestRefNo"); ds.Tables["Head"].Columns.Add("DoorNo"); ds.Tables["Head"].Columns.Add("Street"); ds.Tables["Head"].Columns.Add("State"); ds.Tables["Head"].Columns.Add("Country"); ds.Tables["Head"].Columns.Add("Phone"); ds.Tables["Head"].Columns.Add("Fax"); ds.Tables["Head"].Columns.Add("Email"); ds.Tables["Head"].Columns.Add("ContactPerson"); ds.Tables["Head"].Columns.Add("Zip"); ds.Tables["Head"].Columns.Add("OrganizationName"); ds.Tables["Head"].Columns.Add("Image1"); ds.Tables["Head"].Columns.Add("CreatedUser"); ds.Tables["Head"].Columns.Add("CreateSignature"); //-------DT ds.Tables["Items"].Columns.Add("PartNo"); ds.Tables["Items"].Columns.Add("ItemName"); ds.Tables["Items"].Columns.Add("Quantity"); ds.Tables["Items"].Columns.Add("UnitName"); ds.Tables["Items"].Columns.Add("ItemId"); ds.Tables["Items"].Columns.Add("MinLevel"); ds.Tables["Items"].Columns.Add("WRRequestQty"); ds.Tables["Items"].Columns.Add("CurrentStock"); ds.Tables["Items"].Columns.Add("WRIssueQty"); ds.Tables["Items"].Columns.Add("TotalQty"); ds.Tables["Items"].Columns.Add("InTransitQty"); ds.Tables["Items"].Columns.Add("PendingPRQty"); ds.Tables["Items"].Columns.Add("ShortorExcess"); ds.Tables["Items"].Columns.Add("Remarks"); PurchaseRequestRepository repo = new PurchaseRequestRepository(); var Head = repo.GetPurchaseRequestHDDetailsPrint(Id, OrganizationId); DataRow dr = ds.Tables["Head"].NewRow(); dr["PurchaseRequestNo"] = Head.PurchaseRequestNo; dr["PurchaseRequestDate"] = Head.PurchaseRequestDate.ToString("dd-MMM-yyyy"); dr["WorkShopRequestId"] = Head.WorkShopRequestId; dr["CustomerName"] = Head.CustomerName; dr["SpecialRemarks"] = Head.SpecialRemarks; dr["RequiredDate"] = Head.RequiredDate.ToString("dd-MMM-yyyy");; dr["CustomerOrderRef"] = Head.CustomerOrderRef; dr["WorkShopRequestRefNo"] = Head.WorkShopRequestRefNo; dr["DoorNo"] = Head.DoorNo; dr["Street"] = Head.Street; dr["State"] = Head.State; dr["Country"] = Head.CountryName; dr["Phone"] = Head.Phone; dr["Fax"] = Head.Fax; dr["Email"] = Head.Email; dr["ContactPerson"] = Head.ContactPerson; dr["Zip"] = Head.Zip; dr["OrganizationName"] = Head.OrganizationName; dr["Image1"] = Server.MapPath("~/App_images/") + Head.Image1; dr["CreatedUser"] = Head.CreatedUser; dr["CreateSignature"] = Server.MapPath("~/App_Images/") + Head.CreatedUsersig; ds.Tables["Head"].Rows.Add(dr); PurchaseRequestRepository repo1 = new PurchaseRequestRepository(); var Items = repo1.PurchaseRequestItemDetailsPrint(Id); foreach (var item in Items) { var pritem = new PurchaseRequestItem { PartNo = item.PartNo, ItemName = item.ItemName, Quantity = item.Quantity, UnitName = item.UnitName, ItemId = item.ItemId, MinLevel = item.MinLevel, WRRequestQty = item.WRRequestQty, CurrentStock = item.CurrentStock, WRIssueQty = item.WRIssueQty, TotalQty = item.TotalQty, InTransitQty = item.InTransitQty, PendingPRQty = item.PendingPRQty, ShortorExcess = item.ShortorExcess, Remarks = item.Remarks }; DataRow dri = ds.Tables["Items"].NewRow(); dri["PartNo"] = pritem.PartNo; dri["ItemName"] = pritem.ItemName; dri["Quantity"] = pritem.Quantity; dri["UnitName"] = pritem.UnitName; dri["ItemId"] = pritem.ItemId; dri["MinLevel"] = pritem.MinLevel; dri["WRRequestQty"] = pritem.WRRequestQty; dri["CurrentStock"] = pritem.CurrentStock; dri["WRIssueQty"] = pritem.WRIssueQty; dri["TotalQty"] = pritem.TotalQty; dri["InTransitQty"] = pritem.InTransitQty; dri["PendingPRQty"] = pritem.PendingPRQty; dri["ShortorExcess"] = pritem.ShortorExcess; dri["Remarks"] = pritem.Remarks; ds.Tables["Items"].Rows.Add(dri); } ds.WriteXml(Path.Combine(Server.MapPath("~/XML"), "PurchaseRequest.xml"), XmlWriteMode.WriteSchema); rd.SetDataSource(ds); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); try { Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "application/pdf", String.Format("PurchaseRequest{0}.pdf", Id.ToString()))); } catch (Exception ex) { throw; } }
private void SaveMode(int Action) { FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity; FormsAuthenticationTicket ticket = id.Ticket; string errMsg = ""; if (ticket.Expired) { cbp_LineItem_NewAsset.JSProperties["cpErrMsg"] = "Session Expired."; return; } try { string purchaseRequestId = txtPurchaseRequestId.Text; PurchaseRequestItem pri = new PurchaseRequestItem { ItemType = (PrItemType)Enum.Parse(typeof(PrItemType), txtItemType.Text), Description = NewAsset_PRI_Desc.Text, UnitOfMeasurementId = NewAsset_PRI_UomId.Value == null ? "" : NewAsset_PRI_UomId.Value.ToString(), CategoryId = NewAsset_PRI_CatId.Value == null ? "" : NewAsset_PRI_CatId.Value.ToString(), SubCategoryId = NewAsset_PRI_SubCatId.Value == null ? "" : NewAsset_PRI_SubCatId.Value.ToString(), AssetTypeId = NewAsset_PRI_TypeId.Value == null ? "" : NewAsset_PRI_TypeId.Value.ToString(), //TaxCodeSagaId = NewAsset_PRI_TaxCode.Value == null ? "" : NewAsset_PRI_TaxCode.Value.ToString(), Qty = int.Parse(NewAsset_PRI_Qty.Text), PricePerUnit = decimal.Parse(NewAsset_PRI_UnitPrice.Text), PurchaseRequestId = purchaseRequestId, }; _prs.AddPrItem(pri, ticket.Name); //cbp_LineItem_NewAsset.JSProperties["cpErrMsg"] = ""; // Dr["PRIC_ProcessId"] = txtNewPrItemProcessId.Text; //Dr["PRIC_Revision"] = Convert.ToInt32(txtNewPrItemRevision.Text); //Dr["PRIC_ItemNumber"] = Convert.ToInt32(NewAsset_PRI_ItemNumber.Text); //Dr["PRIC_ComponentNumber"] = UtilityMethods.FormNextSortingId(ref Dt, "PRIC_ComponentNumber"); //Dr["PRIC_Desc"] = DBNull.Value; //Dr["PRIC_Brand"] = DBNull.Value; //Dr["PRIC_Model"] = DBNull.Value; //Dr["PRIC_Qty"] = 0; //Dr["PRIC_UnitCost"] = 0; //FormTVP(ref Dt); //PopulateTVP(ref Dt); //FormComponentTVP(ref Dtc); //PopulateComponentTVP(ref Dtc); //cbp_LineItem_NewAsset.JSProperties["cpErrMsg"] = PermohonanBelianMethods.SP_PR_Items_NewAsset_SaveDelete( txtNewPrItemProcessId.Text, NewAsset_PRI_ItemNumber.Text, txtNewPrItemRevision.Text, ref Dt, ref Dtc); ; } catch (Exception err) { errMsg = err.ToString(); } finally { } cbp_LineItem_NewAsset.JSProperties["cpErrMsg"] = errMsg; return; //DataTable Dt = new DataTable(); //DataTable Dtc = new DataTable(); //try //{ // //FormTVP(ref Dt); // //PopulateTVP(ref Dt); // //FormComponentTVP(ref Dtc); // //PopulateComponentTVP(ref Dtc); // //cbp_LineItem_NewAsset.JSProperties["cpErrMsg"] = PermohonanBelianMethods.SP_PR_Items_NewAsset_SaveDelete( txtNewPrItemProcessId.Text, NewAsset_PRI_ItemNumber.Text, txtNewPrItemRevision.Text, ref Dt, ref Dtc); ; //} //catch (Exception err) //{ cbp_LineItem_NewAsset.JSProperties["cpErrMsg"] = err.Message; } //finally //{ Dt.Dispose(); } }
public int Delete(int id, string user) { int Deleted = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { var m = this.dbSet .Include(d => d.Items) .SingleOrDefault(pr => pr.Id == id && !pr.IsDeleted); EntityExtension.FlagForDelete(m, user, USER_AGENT); foreach (var item in m.Items) { EntityExtension.FlagForDelete(item, user, USER_AGENT); ExternalPurchaseOrderDetail externalPurchaseOrderDetail = this.dbContext.ExternalPurchaseOrderDetails.FirstOrDefault(s => s.IsDeleted == false && s.Id == item.EPODetailId); PurchaseRequestItem prItem = this.dbContext.PurchaseRequestItems.FirstOrDefault(s => s.IsDeleted == false && s.Id == externalPurchaseOrderDetail.PRItemId); InternalPurchaseOrderItem poItem = this.dbContext.InternalPurchaseOrderItems.FirstOrDefault(s => s.IsDeleted == false && s.Id == externalPurchaseOrderDetail.POItemId); DeliveryOrderDetail doDetail = dbContext.DeliveryOrderDetails.FirstOrDefault(s => s.IsDeleted == false && s.Id == item.DODetailId); UnitPaymentOrderDetail upoDetail = dbContext.UnitPaymentOrderDetails.FirstOrDefault(s => s.IsDeleted == false && s.POItemId == poItem.Id); doDetail.ReceiptQuantity -= item.ReceiptQuantity; externalPurchaseOrderDetail.ReceiptQuantity -= item.ReceiptQuantity; if (externalPurchaseOrderDetail.ReceiptQuantity == 0 && upoDetail == null) { if (externalPurchaseOrderDetail.DOQuantity > 0 && externalPurchaseOrderDetail.DOQuantity >= externalPurchaseOrderDetail.DealQuantity) { //prItem.Status = "Barang sudah diterima Unit semua"; poItem.Status = "Barang sudah datang semua"; } else if (externalPurchaseOrderDetail.DOQuantity > 0 && externalPurchaseOrderDetail.DOQuantity < externalPurchaseOrderDetail.DealQuantity) { //prItem.Status = "Barang sudah diterima Unit parsial"; poItem.Status = "Barang sudah datang parsial"; } } else if (externalPurchaseOrderDetail.ReceiptQuantity > 0 && upoDetail == null) { if (externalPurchaseOrderDetail.DOQuantity >= externalPurchaseOrderDetail.DealQuantity) { if (externalPurchaseOrderDetail.ReceiptQuantity < externalPurchaseOrderDetail.DealQuantity) { //prItem.Status = "Barang sudah diterima Unit parsial"; poItem.Status = "Barang sudah diterima Unit parsial"; } else if (externalPurchaseOrderDetail.ReceiptQuantity >= externalPurchaseOrderDetail.DealQuantity) { //prItem.Status = "Barang sudah diterima Unit semua"; poItem.Status = "Barang sudah diterima Unit semua"; } else if (externalPurchaseOrderDetail.DOQuantity < externalPurchaseOrderDetail.DealQuantity) { poItem.Status = "Barang sudah diterima Unit parsial"; } } } } if (m.IsStorage == true) { insertStorage(m, user, "OUT"); } Deleted = dbContext.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Deleted); }
public async Task <int> Create(UnitReceiptNote m, string user) { int Created = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { EntityExtension.FlagForCreate(m, user, "Facade"); m.URNNo = await GenerateNo(m); if (m.Items != null) { foreach (var item in m.Items) { EntityExtension.FlagForCreate(item, user, "Facade"); ExternalPurchaseOrderDetail externalPurchaseOrderDetail = this.dbContext.ExternalPurchaseOrderDetails.FirstOrDefault(s => s.Id == item.EPODetailId); PurchaseRequestItem prItem = this.dbContext.PurchaseRequestItems.FirstOrDefault(s => s.Id == externalPurchaseOrderDetail.PRItemId); InternalPurchaseOrderItem poItem = this.dbContext.InternalPurchaseOrderItems.FirstOrDefault(s => s.Id == externalPurchaseOrderDetail.POItemId); DeliveryOrderDetail doDetail = dbContext.DeliveryOrderDetails.FirstOrDefault(s => s.Id == item.DODetailId); UnitPaymentOrderDetail upoDetail = dbContext.UnitPaymentOrderDetails.FirstOrDefault(s => s.IsDeleted == false && s.POItemId == poItem.Id); item.PRItemId = doDetail.PRItemId; item.PricePerDealUnit = externalPurchaseOrderDetail.PricePerDealUnit; doDetail.ReceiptQuantity += item.ReceiptQuantity; externalPurchaseOrderDetail.ReceiptQuantity += item.ReceiptQuantity; if (upoDetail == null) { if (externalPurchaseOrderDetail.DOQuantity >= externalPurchaseOrderDetail.DealQuantity) { if (externalPurchaseOrderDetail.ReceiptQuantity < externalPurchaseOrderDetail.DealQuantity) { //prItem.Status = "Barang sudah diterima Unit parsial"; poItem.Status = "Barang sudah diterima Unit parsial"; } else { //prItem.Status = "Barang sudah diterima Unit semua"; poItem.Status = "Barang sudah diterima Unit semua"; } } else { //prItem.Status = "Barang sudah diterima Unit parsial"; poItem.Status = "Barang sudah diterima Unit parsial"; } } } } if (m.IsStorage == true) { insertStorage(m, user, "IN"); } this.dbSet.Add(m); Created = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Created); }
public PurchaseRequestItem AddPrItem(PurchaseRequestItem pri, string userName) { Data.Models.PurchaseRequestItemModel.Add(pri, userName); return pri; }