public ExpenditureEntry(string dominantTag, List <string> associatedTags, List <string> people, double expenditure, ExpenditureDate date) { this.dominantTag = dominantTag; this.associatedTags = associatedTags; this.people = people; this.expenditure = expenditure; this.date = date; }
public ExpenditureEntry(int xmlID, bool budgetItem, string dominantTag, List <string> associatedTags, List <string> people, double expenditure, ExpenditureDate date) { this.budgetItem = budgetItem; this.dominantTag = dominantTag; this.associatedTags = associatedTags; this.people = people; this.expenditure = expenditure; this.date = date; }
private void OnRecordExpenditure() { try { ExpenditureDate date = ConvertDate(); double expenditure = ConvertExpenditure(); CheckForTags(); ExpenditureEntry entry = new ExpenditureEntry(dominantTagForAdding, associatedTagsForAdding.ToList(), peopleForAdding.ToList(), expenditure, date); recorder.RecordExpenditureData(entry); ResetProperties(); } catch (ExceptionForUser e) { ExceptionForUserEventArgs args = new ExceptionForUserEventArgs(e); exceptionEventHandler.Invoke(this, args); } }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { IGarmentUnitDeliveryOrderFacade unitDeliveryOrderFacade = validationContext == null ? null : (IGarmentUnitDeliveryOrderFacade)validationContext.GetService(typeof(IGarmentUnitDeliveryOrderFacade)); if (ExpenditureDate.Equals(DateTimeOffset.MinValue) || ExpenditureDate == null) { yield return(new ValidationResult("Tanggal Pengeluaran Diperlukan", new List <string> { "ExpenditureDate" })); } else if (UnitDODate > ExpenditureDate) { yield return(new ValidationResult($"Tanggal Pengeluaran Tidak boleh kurang dari {UnitDODate.ToOffset(new TimeSpan(7, 0, 0)).ToString("dd/MM/yyyy", new CultureInfo("id-ID"))}", new List <string> { "ExpenditureDate" })); } if (UnitDONo == null) { yield return(new ValidationResult("Nomor Delivery Order Diperlukan", new List <string> { "UnitDONo" })); } int itemErrorCount = 0; if (this.Items == null || Items.Count(i => i.IsSave) <= 0) { yield return(new ValidationResult("Item is required", new List <string> { "ItemsCount" })); } else { string itemError = "["; foreach (var item in Items) { itemError += "{"; if (item.IsSave) { var unitDO = unitDeliveryOrderFacade.ReadById((int)UnitDOId); if (unitDO != null) { var unitDOItem = unitDO.Items.Where(s => s.Id == item.UnitDOItemId).FirstOrDefault(); if (unitDOItem != null) { if ((double)item.Quantity > unitDOItem.Quantity) { itemErrorCount++; itemError += "Quantity: 'Jumlah tidak boleh lebih dari " + unitDOItem.Quantity + "', "; } } } PurchasingDbContext dbContext = (PurchasingDbContext)validationContext.GetService(typeof(PurchasingDbContext)); var UENItem = dbContext.GarmentUnitExpenditureNoteItems.AsNoTracking().FirstOrDefault(x => x.Id == item.Id); if (UENItem != null) { if ((double)item.Quantity > UENItem.Quantity) { itemErrorCount++; itemError += "Quantity: 'Jumlah tidak boleh lebih dari " + UENItem.Quantity + "', "; } } if (item.Quantity <= 0) { itemErrorCount++; itemError += "Quantity: 'Jumlah harus lebih dari 0', "; } } itemError += "}, "; } itemError += "]"; if (itemErrorCount > 0) { yield return(new ValidationResult(itemError, new List <string> { "Items" })); } } }
private static ExpenditureEntry ReadData(XmlNode IExpenditureEntry) { int day = 0; int month = 0; int year = 0; int xmlID = 0; bool budgetItem = false; string dominantTag = ""; List <string> associatedTags = new List <string>(); List <string> people = new List <string>(); double expenditure = 0; ExpenditureDate expenditureDate = new ExpenditureDate(); foreach (XmlNode expenditureData in IExpenditureEntry.ChildNodes) { switch (expenditureData.Name) { case "ID": xmlID = int.Parse(expenditureData.InnerText); break; case "BudgetItem": budgetItem = expenditureData.InnerText == "true" ? true : false; break; case "DominantTag": dominantTag = expenditureData.InnerText; break; case "AssociatedTags": foreach (XmlNode asTag in expenditureData.ChildNodes) { associatedTags.Add(asTag.InnerText); } break; case "People": foreach (XmlNode p in expenditureData.ChildNodes) { people.Add(p.InnerText); } break; case "Expenditure": expenditure = double.Parse(expenditureData.InnerText); break; case "Date": foreach (XmlNode item in expenditureData.ChildNodes) { switch (item.Name) { case "Day": day = int.Parse(item.InnerText); break; case "Month": month = int.Parse(item.InnerText); break; case "Year": year = int.Parse(item.InnerText); break; default: break; } expenditureDate = new ExpenditureDate(day, month, year); } break; default: break; } } return(new ExpenditureEntry(xmlID, budgetItem, dominantTag, associatedTags, people, expenditure, expenditureDate)); }