public bool IsLessThanOrEqualTo(YearAndMonth compareTo) { var thisInMonths = (Year * 12) + Month; var compareToInMonths = (compareTo.Year * 12) + compareTo.Month; return(thisInMonths <= compareToInMonths); }
public ExportDataSourceDialog(YearAndMonth from, Func <ExportParams, Exceptional <Unit> > mergeAndExport) { InitializeComponent(); this.mergeAndExport = mergeAndExport; model = new ExportDataSourceModel(from); DataContext = model; }
public void Test1() { var yearAndMonth = new YearAndMonth(2000, 5); Assert.AreEqual(5, yearAndMonth.Month); Assert.AreEqual(2000, yearAndMonth.Year); }
public List <Call> GetCallsThisMonth(string lineNumber, YearAndMonth date) { //returns all the calls that a client made this month Package package = GetPackageByLineId(lineNumber); PackageDetails packDet = GetPackageDetailsByPackageId(package.ID); return(Calls.Where(c => c.LineID == lineNumber && c.DateOfCall.Month == date.Month && c.DateOfCall.Year == date.Year).ToList()); }
public void Test3() { var date = new DateTime(2000, 1, 24); var yearAndMonth = YearAndMonth.GetLatestMonth(date); Assert.AreEqual(12, yearAndMonth.Month); Assert.AreEqual(1999, yearAndMonth.Year); }
public void Test2() { var date = new DateTime(2000, 12, 24); var yearAndMonth = YearAndMonth.GetLatestYearAndMonth(date); Assert.AreEqual(11, yearAndMonth.Month); Assert.AreEqual(2000, yearAndMonth.Year); }
public List <SMS> GetSMSThisMonth(string lineNumber, YearAndMonth date) { //returns all the sms that a line made this month Package package = GetPackageByLineId(lineNumber); PackageDetails packDet = GetPackageDetailsByPackageId(package.ID); return(SMS.Where(c => c.LineID == lineNumber && c.DateOfSMS.Month == date.Month && c.DateOfSMS.Year == date.Year).ToList()); }
public BillWindow(ClientBill clientBill, YearAndMonth date) { InitializeComponent(); viewModel = CrmContianer.container.GetInstance <IBillViewModel>(); DataContext = viewModel; viewModel.GetClientBill(clientBill); viewModel.GetGridFromWindow(DynamicGrid); }
public List <SMS> GetSMSToContactsByDate(string lineNumber, YearAndMonth date) { //returns all the sms that a client made to his contacts in this month of the year Package package = GetPackageByLineId(lineNumber); PackageDetails packDet = GetPackageDetailsByPackageId(package.ID); SelectedNumbers selectedNums = GetSelectedNumbersById(packDet.SelectedNumbersID); return(SMS.Where(c => c.LineID == lineNumber && c.DestintationNumber == selectedNums.FirstNumber || c.DestintationNumber == selectedNums.SecondNumber || c.DestintationNumber == selectedNums.ThirdNumber || c.DestintationNumber == packDet.MostCalledNumber && c.DateOfSMS.Month == date.Month && c.DateOfSMS.Year == date.Year).ToList()); }
public List <Call> GetCallsNotToContactsByDate(string lineNumber, YearAndMonth date) { //returns all the calls that a client made to clients other than his contacts in this month of the year Package package = GetPackageByLineId(lineNumber); PackageDetails packDet = GetPackageDetailsByPackageId(package.ID); SelectedNumbers selectedNums = GetSelectedNumbersById(packDet.SelectedNumbersID); return(Calls.Where(c => c.LineID == lineNumber && c.DestinationNumber != selectedNums.FirstNumber && c.DestinationNumber != selectedNums.SecondNumber && c.DestinationNumber != selectedNums.ThirdNumber && c.DestinationNumber != packDet.MostCalledNumber && c.DateOfCall.Month == date.Month && c.DateOfCall.Year == date.Year).ToList()); }
private void treeView1_DoubleClick(object sender, EventArgs e) { TreeNode selectedNode = treeView1.SelectedNode; if (selectedNode.Tag != null) { Result = (YearAndMonth)selectedNode.Tag; this.DialogResult = DialogResult.OK; this.Close(); } }
public void Detect_A_Year_And_Month_That_Is_Equal_To_Another() { var yearAndMonth = new YearAndMonth(2012, 6); var sameYearAndMonth = new YearAndMonth(2012, 6); var result = yearAndMonth.IsLessThanOrEqualTo(sameYearAndMonth); Assert.True(result); }
public void Detect_A_Year_And_Month_That_Is_Lower_Than_Another_In_A_Different_Year() { var now = new YearAndMonth(2012, 5); var theFuture = new YearAndMonth(2021, 5); var result = now.IsLessThanOrEqualTo(theFuture); Assert.True(result); }
public void Detect_A_Year_And_Month_That_Is_Not_Lower_Than_Another_In_A_Different_Year() { var now = new YearAndMonth(2012, 5); var thePast = new YearAndMonth(2001, 5); var result = now.IsLessThanOrEqualTo(thePast); Assert.False(result); }
public void Add_A_Single_Month() { var now = new YearAndMonth(2012, 6); var result = now.AddOneMonth(); Assert.Equal(2012, result.Year); Assert.Equal(7, result.Month); }
public ExportParams( YearAndMonth fromYearAndMonth, bool cloneRowsForMultipleCopies, string mergeFile = "", string exportFile = "") { FromYearAndMonth = fromYearAndMonth; CloneRowsForMultipleCopies = true; MergeFile = mergeFile; ExportFile = exportFile; }
public void Add_A_Single_Month_In_December() { var now = new YearAndMonth(2012, 12); var result = now.AddOneMonth(); Assert.Equal(2013, result.Year); Assert.Equal(1, result.Month); }
private double GetMinutesToContacts(string lineNumber, YearAndMonth Date) { //return the amount of minutes a client called his contacts double sumOfMinutes = 0; List <Call> callsToContacts = networkRepository.GetCallsToContactsByDate(lineNumber, Date); foreach (var item in callsToContacts) { sumOfMinutes += item.Duration; } return(sumOfMinutes); }
public ClientBill GetBillForClientByDate(string clientId, YearAndMonth Date) { //returns a bill for all the lines of this client List <Receipt> recepits = new List <Receipt>(); Client client = networkRepository.GetClientByID(clientId); foreach (var item in networkRepository.GetClientLines(clientId)) { recepits.Add(GetRecipetByLineAndDate(item.Number, Date)); } return(new ClientBill($"{client.LastName} {client.FirstName}", recepits, Date)); }
public ClientBill GetBillForSpecificLines(string clientId, YearAndMonth Date, List <string> lines) { //returns a bill for specific lines of this client List <Receipt> recepits = new List <Receipt>(); Client client = networkRepository.GetClientByID(clientId); foreach (var item in lines) { recepits.Add(GetRecipetByLineAndDate(item, Date)); } return(new ClientBill($"{client.LastName} {client.FirstName}", recepits, Date)); }
private double GetMinutesThisMonth(string lineNumber, YearAndMonth date) { //returns the minutes amount that this line called this month double sumOfMinutes = 0; List <Call> callsThisMonth = networkRepository.GetCallsThisMonth(lineNumber, date); foreach (var item in callsThisMonth) { sumOfMinutes += item.Duration; } return(sumOfMinutes); }
public void Calculate_A_Single_Month_Range() { var finder = new YearsAndMonthsForRangeFinder(); var start = new YearAndMonth(2012, 1); var end = new YearAndMonth(2012, 1); var result = finder.GetYearsAndMonthsForRange(start, end); // TODO: figure out the idiomatic way to do this in xUnit Assert.Equal(1, result.Count); Assert.Equal(2012, result[0].Year); Assert.Equal(1, result[0].Month); }
public void Calculate_Two_Consecutive_Months_In_The_Same_Year() { var finder = new YearsAndMonthsForRangeFinder(); var start = new YearAndMonth(2012, 1); var end = new YearAndMonth(2012, 2); var result = finder.GetYearsAndMonthsForRange(start, end); Assert.Equal(2, result.Count); Assert.Equal(2012, result[0].Year); Assert.Equal(1, result[0].Month); Assert.Equal(2012, result[1].Year); Assert.Equal(2, result[1].Month); }
public double GetPriceForPackageByLine(string lineNumber, Package package, YearAndMonth Date) { //gets the price for this line with this package Line line = networkRepository.GetLineById(lineNumber); Package packageForLine = networkRepository.GetPackageByLineId(line.Number); PackageDetails packDetForLine = networkRepository.GetPackageDetailsByPackageId(package.ID); SelectedNumbers selectedNums = networkRepository.GetSelectedNumbersById(packDetForLine.SelectedNumbersID); packDetForLine.UsedMinutes = GetMinutesThisMonth(lineNumber, Date); packDetForLine.UsedSMS = GetSmsThisMonth(lineNumber, Date); double MinutesToContacts = GetMinutesToContacts(lineNumber, Date); double SMSToContacts = GetSMSToContacts(lineNumber, Date); Receipt recepitForPackage = new Receipt(line.Number, package, packDetForLine, MinutesToContacts, SMSToContacts); return(recepitForPackage.TotalPayment); }
public LineDetails GetLineDetails(string lineNumber) { //Gets the line details for the web client Client client = networkRepository.GetClientByNumber(lineNumber); YearAndMonth date = new YearAndMonth(DateTime.Now.Year, DateTime.Now.Month); Receipt mainRecepit = GetRecipetByLineAndDate(lineNumber, new YearAndMonth(DateTime.Now.Year, DateTime.Now.Month)); List <Package> DefaultPackages = GetDefaultPackages(); string Package1Name = DefaultPackages[0].PackageName; double Package1Price = GetPriceForPackageByLine(lineNumber, DefaultPackages[0], date); string Package2Name = DefaultPackages[1].PackageName; double Package2Price = GetPriceForPackageByLine(lineNumber, DefaultPackages[1], date); string Package3Name = DefaultPackages[2].PackageName; double Package3Price = GetPriceForPackageByLine(lineNumber, DefaultPackages[2], date); return(new LineDetails(mainRecepit, GetClientValue(client), Package1Name, Package2Name, Package3Name, Package1Price, Package2Price, Package3Price)); }
public void Calculate_A_Year_End_Range() { var finder = new YearsAndMonthsForRangeFinder(); var start = new YearAndMonth(2011, 11); var end = new YearAndMonth(2012, 2); var result = finder.GetYearsAndMonthsForRange(start, end); Assert.Equal(4, result.Count); Assert.Equal(2011, result[0].Year); Assert.Equal(11, result[0].Month); Assert.Equal(2011, result[1].Year); Assert.Equal(12, result[1].Month); Assert.Equal(2012, result[2].Year); Assert.Equal(1, result[2].Month); Assert.Equal(2012, result[3].Year); Assert.Equal(2, result[3].Month); }
public Receipt GetRecipetByLineAndDate(string lineNumber, YearAndMonth Date) { //gets a recepit for this month of the year Line line = networkRepository.GetLineById(lineNumber); if (LineExistedAtDate(lineNumber, Date)) { Package package = networkRepository.GetPackageByLineId(line.Number); PackageDetails packDet = networkRepository.GetPackageDetailsByPackageId(package.ID); SelectedNumbers selectedNums = networkRepository.GetSelectedNumbersById(packDet.SelectedNumbersID); double MinutesToContacts = GetMinutesToContacts(lineNumber, Date); double SMSToContacts = GetSMSToContacts(lineNumber, Date); return(new Receipt(line.Number, package, packDet, MinutesToContacts, SMSToContacts)); } else { return(EmptyRecepit(lineNumber)); } }
private void Calculate(object obj) { List <string> Checkedlines = new List <string>(); foreach (var item in cbObjects) { if (item.IsSelected) { Checkedlines.Add(item.ObjectData.Number); } } YearAndMonth selectedDate = new YearAndMonth(SelectedYear, SelectedMonth); BillRequestModel billRequestModel = new BillRequestModel(currentClient.ID, Checkedlines, selectedDate); Tuple <object, HttpStatusCode> returnTuple1 = httpClient.PostRequest(ApiConfigs.CheckIfLineExistedRoute, billRequestModel); if (returnTuple1.Item2 == HttpStatusCode.OK) { if ((bool)returnTuple1.Item1) { Tuple <object, HttpStatusCode> returnTuple = httpClient.PostRequest(ApiConfigs.GetSpecficLinesBillRoute, billRequestModel); if (returnTuple.Item2 == HttpStatusCode.OK) { JObject jObject = new JObject(); jObject = (JObject)returnTuple.Item1; ClientBill clientBill = jObject.ToObject <ClientBill>(); BillWindow billWindow = new BillWindow(clientBill, selectedDate); billWindow.Show(); CloseThisWindow(); } } else { logger.Print("One or more of the selected lines didnt exist in the selected date"); } } else { logger.Print(returnTuple1.Item2.ToString()); } }
public double GetSumOfLast3Months(Client client) { //gets the sum the client paid for the last 3 month List <Receipt> allRecepits = new List <Receipt>(); List <Line> clientLines = networkRepository.GetClientLines(client.ID); for (int i = 0; i < 3; i++) { YearAndMonth date = new YearAndMonth(DateTime.Now.Year - i, DateTime.Now.Month - i); foreach (var item in clientLines) { allRecepits.Add(GetRecipetByLineAndDate(item.Number, date)); } } double sumOfRecepits = 0; foreach (var item in allRecepits) { sumOfRecepits += item.TotalPayment; } return(sumOfRecepits); }
/// <summary> /// Get Single Labelling Info /// </summary> /// <param name="hierarchyPath"></param> public string GetSingleLabellingInfo(string[] hierarchyPath, YearAndMonth Time, string IndustryType, string UnitType) { string labellingInfo = hierarchyPath[0]; if (String.IsNullOrEmpty(UnitType)) { UnitType = "单位人口"; } if (String.IsNullOrEmpty(IndustryType)) { IndustryType = JazzFunction.EnergyViewToolbar.GetLabellingIndustryButtonText(); } for (int i = 1; i < hierarchyPath.Length; i++) { labellingInfo = labellingInfo + "/" + hierarchyPath[i]; } labellingInfo = "\n" + labellingInfo + "\n" + Time.year.ToString() + "-" + Time.month.ToString() + "\n" + IndustryType + "\n" + UnitType; return(labellingInfo); }
private void fillTreeView(DateTime[] dates) { List<YearAndMonth> values = new List<YearAndMonth>(); foreach (DateTime date in dates) { YearAndMonth ym = new YearAndMonth(date); if (!values.Contains<YearAndMonth>(ym)) values.Add(ym); } List<int> years = new List<int>(); foreach (YearAndMonth ym in values) { if (!years.Contains(ym.year)) { treeView1.Nodes.Add(ym.year.ToString(), ym.year.ToString()); years.Add(ym.year); } TreeNode monthNode = new TreeNode(ym.month); monthNode.Tag = ym; treeView1.Nodes[ym.year.ToString()].Nodes.Add(monthNode); } }
/// <summary> /// Get Single Labelling Info /// </summary> /// <param name="hierarchyPath"></param> public string GetMultiLabellingInfo(MultipleHierarchyAndtags[] multipleHierarchyAndtags, YearAndMonth Time, string IndustryType, string UnitType) { string labellingInfo = multipleHierarchyAndtags[0].HierarchyPath[0]; if (String.IsNullOrEmpty(UnitType)) { UnitType = "单位人口"; } if (String.IsNullOrEmpty(IndustryType)) { IndustryType = JazzFunction.EnergyViewToolbar.GetLabellingIndustryButtonText(); } for (int j = 0; j < multipleHierarchyAndtags.Length; j++) { for (int i = 1; i < multipleHierarchyAndtags[j].HierarchyPath.Length; i++) { labellingInfo = labellingInfo + "/" + multipleHierarchyAndtags[j].HierarchyPath[i]; } labellingInfo = " : " + multipleHierarchyAndtags[j].TagsName[0]; for (int k = 1; k < multipleHierarchyAndtags[j].TagsName.Length; k++) { labellingInfo = labellingInfo + "," + multipleHierarchyAndtags[j].TagsName[k]; } labellingInfo = labellingInfo + "\n"; } labellingInfo = labellingInfo + "\n" + Time.year.ToString() + "-" + Time.month.ToString() + "\n" + IndustryType + "\n" + UnitType; return(labellingInfo); }
void drawUsersChart(List<State> statesList, YearAndMonth Range) { mainChart.Series.Clear(); User CurrentUser = null; foreach (User U in this.statesContainer.Users) { if (U.Name == this.listBox1.SelectedItem.ToString()) CurrentUser = U; } if (CurrentUser != null) { ChartArea area = mainChart.ChartAreas[0]; area.AxisX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Days; area.AxisX.Interval = 1; area.AxisX.Title = "Дни"; area.AxisY.Title = "Время, ч."; area.AxisY.Interval = 0.5; area.AxisY.Maximum = 12; Dictionary<Product, Series> data = new Dictionary<Product, Series>(); foreach (DateTime date in this.statesContainer.Dates) { if (date.Year == Range.Date.Year && date.Month == Range.Date.Month) { Dictionary<Product, double> dailyData = this.statesContainer.UserTimePerDay(CurrentUser, date); foreach (Product P in dailyData.Keys) { if (!data.ContainsKey(P)) { Series series = new Series(P.Name); series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column; series.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Date; series.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32; series.LegendText = P.Name; data.Add(P, series); } DataPoint point = new DataPoint(data[P]); point.SetValueXY(date, dailyData[P]); point.Tag = date; data[P].Points.Add(point); } } } foreach (KeyValuePair<Product, Series> pair in data) { mainChart.Series.Add(pair.Value); } } }