private void loadDataInventory() { LoadEditCommand = new RelayCommand <object>((p) => { return(true); }, (p) => { LoadDialogAccountEdit(); }); ListInventory = new ObservableCollection <StatiscalModel>(); var ProductList = DataProvider.Ins.Entities.ProductTable; foreach (var item in ProductList) { var InputList = DataProvider.Ins.Entities.InputDetailTable.Where(p => p.ID_Product == item.ID); var OutputList = DataProvider.Ins.Entities.OutPutDetailTable.Where(p => p.ID_Product == item.ID); int sumOutput = 0; int sumInput = 0; if (InputList.Count() > 0) { sumInput = InputList.Sum(p => p.Amount); } if (OutputList.Count() > 0) { sumOutput = OutputList.Sum(p => p.Count); } AmountInventory += sumInput; AmountSale += sumOutput; StatiscalModel statiscal = new StatiscalModel(); statiscal.CountInventory = sumInput - sumOutput; statiscal.CountSaled = sumOutput; statiscal.Product = item; ListInventory.Add(statiscal); } }
// GET api/<controller> /// <summary> /// Getting statiscal information /// </summary> /// <returns></returns> public async Task <HttpResponseMessage> Get() { try { StatisticalBusiness staticalBusiness = new StatisticalBusiness(); StatiscalModel statiscalInfo = await staticalBusiness.StatiscalGet(); StatiscalDTO response = new StatiscalDTO() { Ratio = statiscalInfo.Ratio, HumanNumber = statiscalInfo.HumanNumber, MutantNumber = statiscalInfo.MutantNumber }; return(Request.CreateResponse(HttpStatusCode.OK, response)); } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.ToString())); } }
public async Task <StatiscalModel> StatiscalGet() { StatiscalModel statiscal = new StatiscalModel(); try { AnalysisLogDAL dal = new AnalysisLogDAL(); statiscal.MutantNumber = await dal.AnalysisLogCount(SubjectType.Mutant); statiscal.HumanNumber = await dal.AnalysisLogCount(SubjectType.NoMutant); statiscal.Ratio = statiscal.HumanNumber > 0 ? (decimal)((double)statiscal.MutantNumber / (double)statiscal.HumanNumber) : statiscal.MutantNumber; } catch (Exception e) { var ex = e.ToString(); //TODO: Writing in log } return(statiscal); }