public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } DailyRecord = await _context.Records.FirstOrDefaultAsync(m => m.Id == id); if (DailyRecord == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } DailyRecord = await _context.Records.FindAsync(id); if (DailyRecord != null) { _context.Records.Remove(DailyRecord); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public GridPivotDetailHome(Double pIrrigationQuantity, Double pRainQuantity, Double pForecastIrrigationQuantity, DateTime pDateOfData, bool pIsToday, Utils.IrrigationStatus pIrrigationStatus, String pPhenology, bool pIsIrrigationConfirmed, DailyRecord pDailyRecord = null) { this.IrrigationQuantity = pIrrigationQuantity; this.RainQuantity = pRainQuantity; this.ForecastIrrigationQuantity = pForecastIrrigationQuantity; this.DateOfData = pDateOfData; this.IsToday = pIsToday; this.IrrigationStatus = pIrrigationStatus; this.Phenology = pPhenology; this.DailyRecord = pDailyRecord; this.IsIrrigationConfirmed = pIsIrrigationConfirmed; }
public DailyRecord PriceBuilder(DayRate dayRate, IEnumerable <Price> prices, bool hasFreeConsultant) { var dailyRecord = new DailyRecord(); _logger.Info($"Processing DayRate: {dayRate.Id} on {dayRate.Date.ToShortDateString()}, " + $"TotalCard: {dayRate.CardDailyTotal} TotalCash: {dayRate.CashDailyTotal}"); _logger.Info($"Processing Card DayRate {dayRate.Date.ToShortDateString()} "); dailyRecord.Card = GetSalesRecord(dayRate.Id, dayRate.CardDailyTotal, dayRate.Date, dayRate.CardRates, prices, hasFreeConsultant); _logger.Info($"Processing Cash DayRate {dayRate.Date.ToShortDateString()} "); dailyRecord.Cash = GetSalesRecord(dayRate.Id, dayRate.CashDailyTotal, dayRate.Date, dayRate.CashRates, prices, hasFreeConsultant); return(dailyRecord); }
public void CreateNewAndFinishPreviousRecord(int employeeId, EnumWorkType type) { DateTime currentTime = DateTime.Now; DailyRecord dailyRecord = _dailyRecordRepository.GetLastDailyRecordByEmployeeId(employeeId); if (dailyRecord != null) { if (dailyRecord.Finish == null) { UpdateFinishInTimeBlock(dailyRecord, currentTime); } else { CreateNewTimeBlock(employeeId, EnumWorkType.Other, (DateTime)dailyRecord.Finish, currentTime); } } CreateNewTimeBlock(employeeId, type, currentTime); }
public void TestMethod2() { var ctx = GetDbContext(); var data = new DailyRecord() { Date = DateTime.Now, EventSummary = "No Events", Remark = "ABC", Status = StatusFlags.Warn, User = "******" }; ctx.Records.Add(data); ctx.SaveChanges(); var rec = ctx.Records.FirstOrDefault(); Assert.IsNotNull(rec); }
public async Task <IActionResult> Create([Bind("Id,DocumentDate,Title,Detail,CreatedBy,CreatedDate,UpdatedBy,UpdatedDate,IsDeleted")] DailyRecord dailyRecord) { // 投稿ロック判定 var isLocked = ControllerHelper.GetSubmitLocked(_context); if (isLocked == "1") { return(NotFound()); } if (ModelState.IsValid) { _context.Add(dailyRecord); await _context.SaveChangesAsync(User.Identity.Name); return(RedirectToAction(nameof(Index))); } return(View(dailyRecord)); }
private void UpdateData() { listRecords.Clear(); DateTime _date = DateTime.Now - TimeSpan.FromDays(_day); DailyRecord _rec = SelectedUser.FindRecord(_date, true); if (_rec != null) { foreach (Record r in _rec.Records) { if (r.ActivityType != 0) { listRecords.Add(r); } } } listRecords.UpdateCollection(); OnPropertyChanged(null); }
public async Task <IHttpActionResult> Post(DailyRecord dailyRecord) { if (dailyRecord.Group == null) { dailyRecord.Group = "7"; } dailyRecord.SubmitTime = DateTimeOffset.Now; dailyRecord.RecordDate = dailyRecord.RecordDate.Date; dailyRecord.User = dailyRecord.User.Trim(); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.DailyRecords.AddOrUpdate(dailyRecord); await db.SaveChangesAsync(); return(Ok("insert or updated")); }
public bool InsertDialyRecord(DailyRecord dailyResult) { bool succes = false; Execute((command) => { command.CommandText = @"INSERT INTO DailyRecord (IdEmployee, IdWorktype, [Start], [Finish]) VALUES (@Id_Employee, @Id_Worktype , @Start, @Finish)"; command.Parameters.Add("@Id_Employee", SqlDbType.VarChar).Value = dailyResult.IdEmployee; command.Parameters.Add("@Id_Worktype", SqlDbType.VarChar).Value = dailyResult.IdWorktype; command.Parameters.Add("@Start", SqlDbType.DateTime2).Value = dailyResult.Start; command.Parameters.Add("@Finish", SqlDbType.DateTime2).Value = dailyResult.Finish == null ? DBNull.Value : (object)dailyResult.Finish; if (command.ExecuteNonQuery() > 0) { succes = true; } }); return(succes); }
/// <summary> /// this method make unicorn farts /// </summary> /// <param name="daily_Result"></param> /// <returns>true if update happend, false if not</returns> public bool UpdateDailyRecord(DailyRecord updatedDailyResult) { bool success = false; Execute((command) => { command.CommandText = @"update DailyRecord set Start=@start,Finish=@finish,IdWorktype=@idWorkType where id = @dailyResultID"; command.Parameters.Add("@start", SqlDbType.DateTime2).Value = updatedDailyResult.Start; command.Parameters.Add("@finish", SqlDbType.DateTime2).Value = updatedDailyResult.Finish; command.Parameters.Add("@idWorkType", SqlDbType.Int).Value = updatedDailyResult.IdWorktype; command.Parameters.Add("@dailyResultID", SqlDbType.Int).Value = updatedDailyResult.Id; if (command.ExecuteNonQuery() > 0) { success = true; } }); return(success); }
/// <summary> /// insert new Daily result entered from system /// </summary> /// <param name="dailyResult"></param> /// <returns></returns> public bool InsertNewDailyResultFromSystem(DailyRecord dailyResult) { bool success = false; Execute((command) => { command.CommandText = @"insert into DailyRecord values (@IdEmployee,@StartTime,@FinishTime,@WorkTypeID)"; command.Parameters.Add("@IdEmployee", SqlDbType.Int).Value = dailyResult.IdEmployee; command.Parameters.Add("@WorkTypeID", SqlDbType.Int).Value = dailyResult.IdWorktype; command.Parameters.Add("@StartTime", SqlDbType.DateTime2).Value = dailyResult.Start; command.Parameters.Add("@FinishTime", SqlDbType.DateTime2).Value = dailyResult.Finish; if (command.ExecuteNonQuery() > 0) { success = true; } }); return(success); }
/// <summary> /// 设置交易记录的实际受益人 /// </summary> /// <param name="dailyRecord"></param> /// <param name="bandPrincipal"></param> /// <param name="targetPrincipal"></param> public static void SetBeneficiary(this DailyRecord dailyRecord, string bandPrincipal, string targetPrincipal) { if (dailyRecord == null) { throw new ArgumentNullException(nameof(dailyRecord)); } switch (dailyRecord.TradeType) { case (int)EnumLibrary.TradeType.Day: dailyRecord.Beneficiary = dailyRecord.OperatorCode; break; case (int)EnumLibrary.TradeType.Band: dailyRecord.Beneficiary = bandPrincipal; break; case (int)EnumLibrary.TradeType.Target: dailyRecord.Beneficiary = targetPrincipal; break; } }
/// <summary> /// gets daily result by its ID /// </summary> /// <param name="employeeId"></param> /// <returns>DailyRusult</returns> public DailyRecord GetDailyResultByID(int dailyResultId) { DailyRecord ret = new DailyRecord(); Execute((command) => { command.CommandText = @"select * from DailyRecord where id = @id"; command.Parameters.Add("@id", SqlDbType.Int).Value = dailyResultId; using (SqlDataReader reader = command.ExecuteReader()) { if (reader.Read()) { ret.Id = reader.GetInt32(0); ret.IdEmployee = reader.GetInt32(1); ret.Start = reader.GetDateTime(2); ret.Finish = reader.IsDBNull(3) ? (DateTime?)null : reader.GetDateTime(3); ret.IdWorktype = reader.GetInt32(4); } } }); return(ret); }
/// <summary> /// 设置交易记录的交易类型 /// </summary> /// <param name="dailyRecord"></param> /// <param name="tradeType"></param> public static void SetTradeType(this DailyRecord dailyRecord, string tradeType) { if (dailyRecord == null) { throw new ArgumentNullException(nameof(dailyRecord)); } switch (tradeType) { case "短差": case "日内": dailyRecord.TradeType = (int)EnumLibrary.TradeType.Day; break; case "波段": dailyRecord.TradeType = (int)EnumLibrary.TradeType.Band; break; case "目标": dailyRecord.TradeType = (int)EnumLibrary.TradeType.Target; break; } }
private void AddVirtualRecordProcess() { if (!InputCheck()) { return; } var now = this._commonService.GetCurrentServerTime(); var stockInfo = this.luStock.GetSelectedDataRow() as StockInfoModel; var dealVolume = int.Parse(this.txtDealVolume.Text.Trim()); var tradeTime = CommonHelper.StringToDateTime(this.deTradeDate.Text.Trim()); var virtualRecord = new DailyRecord { AccountId = int.Parse(this.luAccount.SelectedValue()), ActualAmount = decimal.Parse(txtActualAmount.Text.Trim()), AuditFlag = false, Beneficiary = this.luBeneficiary.SelectedValue(), DataType = (int)EnumLibrary.DataType.Virtual, DealAmount = decimal.Parse(this.txtDealAmount.Text.Trim()), DealFlag = this.chkBuy.Checked, DealPrice = decimal.Parse(this.txtDealPrice.Text.Trim()), DealVolume = this.chkBuy.Checked ? dealVolume : -dealVolume, ImportTime = now, ImportUser = LoginInfo.CurrentUser.UserCode, OperatorCode = this.luInvestor.SelectedValue(), StockCode = stockInfo.FullCode, StockName = stockInfo.Name, TradeDate = tradeTime.Date, TradeTime = tradeTime.ToLongTimeString(), TradeType = int.Parse(this.cbTradeType.SelectedValue()), UpdateTime = now, UpdateUser = LoginInfo.CurrentUser.UserCode, }; this._dailyRecordService.InsertDailyRecord(virtualRecord); }
/// <summary> /// 设置交易记录的共通字段 /// </summary> /// <param name="dailyRecord"></param> /// <param name="recordImportOperationInfo"></param> public static void SetTradeRecordCommonFields(this DailyRecord dailyRecord, RecordImportOperationEntity recordImportOperationInfo) { if (dailyRecord == null) { throw new ArgumentNullException(nameof(dailyRecord)); } if (recordImportOperationInfo == null) { throw new ArgumentNullException(nameof(recordImportOperationInfo)); } dailyRecord.DataType = (int)recordImportOperationInfo.DataType; dailyRecord.AccountId = recordImportOperationInfo.AccountId; dailyRecord.OperatorCode = recordImportOperationInfo.OperatorCode; dailyRecord.ImportUser = recordImportOperationInfo.ImportUserCode; dailyRecord.ImportTime = recordImportOperationInfo.ImportTime; dailyRecord.UpdateUser = recordImportOperationInfo.ImportUserCode; dailyRecord.UpdateTime = recordImportOperationInfo.ImportTime; if (recordImportOperationInfo.TradeDate.HasValue) { dailyRecord.TradeDate = recordImportOperationInfo.TradeDate.Value; } }
public async Task <IActionResult> Edit(int id, [Bind("Id,DocumentDate,Title,Detail,CreatedBy,CreatedDate,UpdatedBy,UpdatedDate,IsDeleted")] DailyRecord dailyRecord) { // 投稿ロック判定 var isLocked = ControllerHelper.GetSubmitLocked(_context); if (isLocked == "1") { return(NotFound()); } if (id != dailyRecord.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(dailyRecord); await _context.SaveChangesAsync(User.Identity.Name); } catch (DbUpdateConcurrencyException) { if (!DailyRecordExists(dailyRecord.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(dailyRecord)); }
private void btnOk_Click(object sender, EventArgs e) { try { this.btnOk.Enabled = false; var source = gridControl1.DataSource as DataTable; if (source == null) { return; } if (DXMessage.ShowYesNoAndTips("是否确定导入?") == System.Windows.Forms.DialogResult.Yes) { IList <DailyRecord> dailyRecords = new List <DailyRecord>(); var deliveryRecord = _deliveryService.GetDeliveryRecordById(DeliveryId); foreach (DataRow dr in source.Rows) { var dailyRecord = new DailyRecord { AccountCode = deliveryRecord.AccountCode, AccountId = deliveryRecord.AccountId, ActualAmount = CommonHelper.SetDecimalDigits(decimal.Parse(dr[this.colRate.FieldName].ToString()) * deliveryRecord.ActualAmount), Beneficiary = dr[this.colBeneficiary.FieldName].ToString(), Commission = deliveryRecord.Commission, ContractNo = deliveryRecord.ContractNo, DataType = deliveryRecord.DataType, DealAmount = 0, DealFlag = deliveryRecord.DealFlag, DealNo = deliveryRecord.DealNo, DealPrice = deliveryRecord.DealPrice, DealVolume = 0, ImportTime = DateTime.Now, ImportUser = LoginInfo.CurrentUser.UserCode, Incidentals = deliveryRecord.Incidentals, OperatorCode = dr[this.colBeneficiary.FieldName].ToString(), Remarks = "财务交割单利息分配", StampDuty = deliveryRecord.StampDuty, StockCode = deliveryRecord.StockCode, StockHolderCode = deliveryRecord.StockHolderCode, StockName = deliveryRecord.StockName, TradeDate = deliveryRecord.TradeDate, TradeTime = deliveryRecord.TradeTime, TradeType = int.Parse(dr[this.colTradeType.FieldName].ToString()), UpdateTime = DateTime.Now, UpdateUser = LoginInfo.CurrentUser.UserCode }; dailyRecords.Add(dailyRecord); } _dailyService.InsertDailyRecords(dailyRecords); this.SplitFlag = true; this.Close(); this.RefreshEvent?.Invoke(); } else { this.btnOk.Enabled = true; } } catch (Exception ex) { DXMessage.ShowError(ex.Message); } }
public bool InsertNewDailyResultFromSystem(DailyRecord dailyResult) { return(_dailyRecordRepository.InsertNewDailyResultFromSystem(dailyResult)); }
public bool UpdateDailyRecord(DailyRecord updatedDailyResult) { return(_dailyRecordRepository.UpdateDailyRecord(updatedDailyResult)); }
private bool DataImportProcess(out int importRecordNumber) { importRecordNumber = 0; var startDate = CommonHelper.StringToDateTime(this.deStart.EditValue.ToString()); var endDate = CommonHelper.StringToDateTime(this.deEnd.EditValue.ToString()); string query = string.Format(@"select * from EntrustRecord where (cjQty>0 or cjAmount >0) and FData >='{0}' and FData <='{1}' ", startDate, endDate); var ds = SqlHelper.ExecuteDataset(_oldSystemConnectionString, CommandType.Text, query); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { return(true); } var tradeRecords = new List <DailyRecord>(); var historyRecords = ds.Tables[0]; var dataType = (int)EnumLibrary.DataType.History; var importUserCode = LoginInfo.CurrentUser.UserCode; var importTime = _commonService.GetCurrentServerTime(); foreach (DataRow row in historyRecords.Rows) { importRecordNumber++; var tradeRecord = new DailyRecord(); tradeRecord.DataType = dataType; tradeRecord.ImportUser = importUserCode; tradeRecord.ImportTime = importTime; tradeRecord.UpdateUser = importUserCode; tradeRecord.UpdateTime = importTime; tradeRecord.AccountId = int.Parse(row["zqzh"].ToString().Trim()); tradeRecord.OperatorCode = GetUserCodeByName(row["Operator"].ToString().Trim()); tradeRecord.StockName = row["zqmc"].ToString().Trim(); tradeRecord.StockCode = GetStockFullCodeByCode(row["zqdm"].ToString().Trim()); if (string.IsNullOrEmpty(tradeRecord.StockCode)) { DXMessage.ShowTips(string.Format("系统不存在股票信息【{0}】【{1}】,导入操作终止!", row["zqmc"].ToString().Trim(), row["zqdm"].ToString().Trim())); return(false); } tradeRecord.SetTradeType(row["jyType"].ToString().Trim()); tradeRecord.Beneficiary = GetBeneficiaryCodeByTradeType(row, tradeRecord.TradeType); tradeRecord.TradeDate = CommonHelper.StringToDateTime(row["FData"].ToString().Trim()); tradeRecord.TradeTime = row["Ftime"].ToString().Trim(); if (row["cz"].ToString().Trim().IndexOf("买") > -1) { tradeRecord.DealFlag = true; } else { tradeRecord.DealFlag = false; } tradeRecord.DealNo = string.Empty; tradeRecord.DealPrice = decimal.Parse(row["cjPrice"].ToString().Trim()); tradeRecord.DealAmount = decimal.Parse(row["cjAmount"].ToString().Trim()); //买入 if (tradeRecord.DealFlag) { tradeRecord.DealVolume = CommonHelper.ConvertToPositive(int.Parse(row["cjQty"].ToString().Trim())); tradeRecord.ActualAmount = CommonHelper.ConvertToNegtive(decimal.Parse(row["fsAmount"].ToString().Trim())); } //卖出 else { tradeRecord.DealVolume = CommonHelper.ConvertToNegtive(int.Parse(row["cjQty"].ToString().Trim())); tradeRecord.ActualAmount = CommonHelper.ConvertToPositive(decimal.Parse(row["fsAmount"].ToString().Trim())); } tradeRecord.StockHolderCode = row["gdzh"].ToString().Trim(); tradeRecord.ContractNo = row["ContractID"].ToString().Trim(); if (row["yj"] != DBNull.Value) { tradeRecord.Commission = decimal.Parse(row["yj"].ToString().Trim()); } if (row["yhs"] != DBNull.Value) { tradeRecord.StampDuty = decimal.Parse(row["yhs"].ToString().Trim()); } if (row["ghf"] != DBNull.Value) { tradeRecord.Incidentals = decimal.Parse(row["ghf"].ToString().Trim()); } tradeRecord.AuditFlag = row["gj"].ToString().Trim() == "1" ? true : false; if (row["gjtime"] != DBNull.Value) { tradeRecord.AuditTime = CommonHelper.StringToDateTime(row["gjtime"].ToString().Trim()); } tradeRecord.AuditNo = null; tradeRecord.Remarks = row["remark"].ToString().Trim(); tradeRecords.Add(tradeRecord); } var tradeDateFrom = historyRecords.AsEnumerable().Select(x => x.Field <DateTime>("FData")).Min(); var tradeDateTo = historyRecords.AsEnumerable().Select(x => x.Field <DateTime>("FData")).Max(); if (DeleteExistedRecords(tradeDateFrom, tradeDateTo)) { _tradeRecordService.BatchInsertDailyRecords(tradeRecords); } return(true); }
public void UpdateFinishInTimeBlock(DailyRecord dailyRecord, DateTime finishTime) { dailyRecord.Finish = finishTime; _dailyRecordRepository.UpdateDailyRecord(dailyRecord); }
/// <summary> /// 添加日常记账 /// </summary> /// <param name="dailyRecord"></param> /// <param name="hidBuckets"></param> /// <returns></returns> public ActionResult CreateDailyWrite(DailyRecord dailyRecord, string[] hidBuckets) { //MongoDB采取的是UTC时间,而通常系统用的是Local时间(中国) dailyRecord.VisitDate = DateTime.SpecifyKind(dailyRecord.VisitDate, DateTimeKind.Utc); string[] bucketPams = hidBuckets[0].Split(','); if (bucketPams.Length == 1) { if (dailyRecord.EarnMonthEndPrice >= 0 || dailyRecord.EarnWaterCardPrice >= 0) { //添加日常记录 dailyRecord.Id = ObjectId.NewObjectId().ToString(); MongoBase.Insert(dailyRecord); //添加公司下次送水日期 Customer customer = CustomerHelper.GetById(dailyRecord.CustomerId); if (customer != null) { customer.NextDate = dailyRecord.NextDate; customer.NotifyFlag = 1;//开启通知 CustomerHelper.Update(customer); } } } else { for (int i = 0; i < bucketPams.Length; i++) { var t = i % 3; if (t == 0) { dailyRecord.SendProductId = bucketPams[i]; } else if (t == 1) { dailyRecord.SendBucketAmount = int.Parse(bucketPams[i]); } else { dailyRecord.ReceiveEmptyBucketAmount = int.Parse(bucketPams[i]); } if ((i + 1) % 3 == 0) { ////完成一个产品 //更新库存信息 var product = ProductHelper.GetById(dailyRecord.SendProductId); product.StockRemain += dailyRecord.SendBucketAmount; //桶装水库存增加 product.BucketStockRemain += dailyRecord.ReceiveEmptyBucketAmount; //空桶库存增加 ProductHelper.Update(product); //添加一条日常记录 dailyRecord.Id = ObjectId.NewObjectId().ToString(); //同一人在同一公司,资金交易只记一笔(避免汇总数据double);附属产品只记一笔 if (i > 2) { dailyRecord.EarnDeposit = 0; dailyRecord.PayDeposit = 0; dailyRecord.EarnMonthEndPrice = 0; dailyRecord.EarnWaterCardPrice = 0; dailyRecord.WaterDispenser = 0; dailyRecord.WaterHolder = 0; dailyRecord.PushPump = 0; dailyRecord.WaterDispenserBack = 0; dailyRecord.WaterHolderBack = 0; dailyRecord.PushPumpBack = 0; } MongoBase.Insert(dailyRecord); } } } return(RedirectToAction("DailyRecord")); }
private void TransferProcess() { var holderAccountId = _record.AccountId; var holderAccountInfo = _record.AccountName + "-" + _record.SecurityCompanyName + "-" + _record.AttributeName; var holder = _record.DealerCode; var holderName = _record.DealerName; var holderTradeType = CTMHelper.GetTradeTypeByDepartment(_record.DepartmentId); var receiver = this.luReceiver.GetSelectedDataRow() as UserInfo; if (receiver == null) { return; } var receiverTradeType = CTMHelper.GetTradeTypeByDepartment(receiver.DepartmentId); var transferVolume = int.Parse(this.txtTransferVolume.Text.Trim()); var transferPrice = decimal.Parse(this.txtTransferPrice.Text.Trim()); var stockFullCode = this.txtStockCode.Text.Trim(); var stockName = this.txtStockName.Text.Trim(); var receivedAccountId = int.Parse(this.luReceivedAccount.SelectedValue()); var receivedAccountInfo = (this.luReceivedAccount.GetSelectedDataRow() as AccountEntity).DisplayMember; var now = _commonService.GetCurrentServerTime(); var tradeDate = CommonHelper.GetPreviousWorkDay(now); var stockTransferInfo = new StockTransferInfo() { HolderAccountId = holderAccountId, HolderAccountInfo = holderAccountInfo, ReceivedAccountId = receivedAccountId, ReceivedAccountInfo = receivedAccountInfo, StockFullCode = stockFullCode, StockName = stockName, Holder = holder, HolderName = holderName, Receiver = receiver.Code, ReceiverName = receiver.Name, OperatorCode = LoginInfo.CurrentUser.UserCode, OperatorName = LoginInfo.CurrentUser.UserName, TransferVolume = transferVolume, TransferPrice = transferPrice, TransferTime = now, }; var holderRecord = new DailyRecord() { DataType = (int)EnumLibrary.DataType.StockTransfer, AccountId = holderAccountId, ActualAmount = transferPrice * transferVolume, Beneficiary = holder, DealAmount = Math.Abs(transferPrice * transferVolume), DealFlag = transferVolume > 0 ? false : true, DealPrice = transferPrice, DealVolume = -transferVolume, ImportTime = now, ImportUser = LoginInfo.CurrentUser.UserCode, OperatorCode = holder, StockCode = stockFullCode, StockName = stockName, TradeDate = tradeDate, TradeTime = now.ToString("HH:mm:ss"), TradeType = (int)holderTradeType, UpdateTime = now, UpdateUser = LoginInfo.CurrentUser.UserCode, }; var receiverRecord = new DailyRecord() { DataType = (int)EnumLibrary.DataType.StockTransfer, AccountId = receivedAccountId, ActualAmount = transferPrice * (-transferVolume), Beneficiary = receiver.Code, DealAmount = Math.Abs(transferPrice * transferVolume), DealFlag = transferVolume < 0 ? false : true, DealPrice = transferPrice, DealVolume = transferVolume, ImportTime = now, ImportUser = LoginInfo.CurrentUser.UserCode, OperatorCode = receiver.Code, StockCode = stockFullCode, StockName = stockName, TradeDate = tradeDate, TradeTime = now.ToString("HH:mm:ss"), TradeType = (int)receiverTradeType, UpdateTime = now, UpdateUser = LoginInfo.CurrentUser.UserCode, }; _stockService.AddStockTransferInfo(stockTransferInfo); _tradeRecordService.InsertDailyRecords(new List <DailyRecord> { holderRecord, receiverRecord }); var stockTransferRecords = new List <StockTransferRecord> { new StockTransferRecord { TransferId = stockTransferInfo.Id, RecordId = holderRecord.Id }, new StockTransferRecord { TransferId = stockTransferInfo.Id, RecordId = receiverRecord.Id } }; _stockService.AddStockTransferRecord(stockTransferRecords); }
/// <summary> /// Add Grid Irrigation Unit with all columns data /// Using DailyRecords for obtain Irrigation, Rain information. /// </summary> /// <param name="pDayOfReference"></param> /// <param name="pDayOfData"></param> /// <param name="pIrrigationList"></param> /// <param name="pRainList"></param> /// <param name="pDailyRecordList"></param> /// <returns></returns> private GridPivotDetailHome AddGridIrrigationUnit(DateTime pDayOfReference, DateTime pDayOfData, List <Models.Water.Irrigation> pIrrigationList, List <Rain> pRainList, List <DailyRecord> pDailyRecordList) { #region local variables String lSomeData = ""; GridPivotDetailHome lReturn = null; Double lIrrigationQuantity = 0; Double lRainQuantity = 0; Double lForcastIrrigationQuantity = 0; Double lWaterQuantity = 0; DateTime lDateOfData = Utils.MIN_DATETIME; DateTime lDayOfReference = Utils.MIN_DATETIME; bool lIsToday = false; Utils.IrrigationStatus lIrrigationStatus = Utils.IrrigationStatus.Default; String lPhenology = ""; Rain lRain = null; DailyRecord lDailyRecord = null; #endregion try { lDateOfData = pDayOfData.Date; lDayOfReference = pDayOfReference.Date; lSomeData = lSomeData + "DayOfReference: " + lDayOfReference.Date + "-"; lSomeData = lSomeData + "DateOfData: " + lDateOfData.Date + "-"; //Find Daily Record of the Date of Data lDailyRecord = pDailyRecordList.Where(dr => dr.DailyRecordDateTime.Date == lDateOfData.Date).FirstOrDefault(); #region Irrigation in the past if (lDailyRecord != null && lDateOfData < lDayOfReference) { if (lDailyRecord.Irrigation != null && lDailyRecord.Irrigation.Input > 0) { lIrrigationQuantity += lDailyRecord.Irrigation.Input; } else if (lDailyRecord.Irrigation != null && lDailyRecord.Irrigation.ExtraInput > 0) { lIrrigationQuantity += lDailyRecord.Irrigation.ExtraInput; } } #endregion lWaterQuantity = lIrrigationQuantity; lSomeData = lSomeData + "IrrigationQuantity: " + lIrrigationQuantity + "-"; #region Rain //Find Rain of the Date of Data lRain = pRainList.Where(r => r.Date.Date == lDateOfData || r.ExtraDate.Date == lDateOfData).FirstOrDefault(); if (lRain != null && lRain.GetTotalInput() > 0) { lRainQuantity = lRain.GetTotalInput(); } #endregion lWaterQuantity += lRainQuantity; lSomeData = lSomeData + "RainQuantity: " + lRainQuantity + "-"; #region Irrigation for today or in the future //Find Daily Record of the Date of Data lDailyRecord = pDailyRecordList.Where(dr => dr.DailyRecordDateTime.Date == lDateOfData).FirstOrDefault(); if (lDailyRecord != null && lDateOfData >= lDayOfReference) { if (lDailyRecord.Irrigation != null && lDailyRecord.Irrigation.Input > 0) { lForcastIrrigationQuantity += lDailyRecord.Irrigation.Input; } else if (lDailyRecord.Irrigation != null && lDailyRecord.Irrigation.ExtraInput > 0) { lForcastIrrigationQuantity += lDailyRecord.Irrigation.ExtraInput; } } #endregion lWaterQuantity += lForcastIrrigationQuantity; lSomeData = lSomeData + "ForcastIrrigationQuantity: " + lForcastIrrigationQuantity + "-"; lIsToday = lDateOfData == lDayOfReference; if (lIsToday && lDailyRecord != null) { lPhenology = lDailyRecord.PhenologicalStage.Stage.ShortName; } #region IrrigationStatus if (lRainQuantity > 0 && lRainQuantity >= (lWaterQuantity - lRainQuantity)) { lIrrigationStatus = Utils.IrrigationStatus.Rain; } else if (lIrrigationQuantity > 0 && lIrrigationQuantity > lRainQuantity) { lIrrigationStatus = Utils.IrrigationStatus.Irrigated; } else if (lForcastIrrigationQuantity > 0 && lForcastIrrigationQuantity > lRainQuantity) { lIrrigationStatus = Utils.IrrigationStatus.NextIrrigation; } else if (lDailyRecord != null && (lDailyRecord.Irrigation != null && lDailyRecord.Irrigation.Type == Utils.WaterInputType.CantIrrigate)) { lIrrigationStatus = Utils.IrrigationStatus.CantIrrigate; } else if (lDailyRecord != null && (lDailyRecord.Irrigation != null && lDailyRecord.Irrigation.Type == Utils.WaterInputType.IrrigationWasNotDecided)) { lIrrigationStatus = Utils.IrrigationStatus.IrrigationWasNotDecided; } else { lIrrigationStatus = Utils.IrrigationStatus.Default; } #endregion lSomeData = lSomeData + "IrrigationStatus: " + lIrrigationStatus.ToString() + "-"; lReturn = new GridPivotDetailHome(lIrrigationQuantity, lRainQuantity, lForcastIrrigationQuantity, lDateOfData, lIsToday, lIrrigationStatus, lPhenology, lDailyRecord); } catch (Exception ex) { Utils.LogError(ex, "Exception in HomeController.AddGridIrrigationUnit \n {0}", lSomeData); throw ex; } return(lReturn); }
public void ApplyDailyRecord(DailyRecord dailyRecord) { ChosenDateLabel.Text = String.Format("{0}.{1:00}.{2}", dailyRecord.Date.Day, dailyRecord.Date.Month, dailyRecord.Date.Year); FillSummaryGrid(dailyRecord); FillMealGrid(dailyRecord); }
private void FillSummaryGrid(DailyRecord dailyRecord) { Dictionary <ComponentType, double> components = new Dictionary <ComponentType, double>(); foreach (Meal meal in dailyRecord.Meals.Values) { foreach (Consumption consumption in meal.Consumptions) { Nutrient nutrient = App.Database.GetItem(consumption.Id); foreach (Component component in nutrient.Components) { double addition = component.Per100gramm * consumption.Weight / 100.0; if (components.ContainsKey(component.Id)) { components[component.Id] += addition; } else { components.Add(component.Id, addition); } } } } int rowIdx = 0; foreach (ComponentType componentType in components.Keys) { SummaryGrid.Children.Add(new Label() { Text = componentType.ToString() }, 0, rowIdx); SummaryGrid.Children.Add(new Label() { Text = components[componentType].ToString(), HorizontalTextAlignment = TextAlignment.End }, 1, rowIdx); SummaryGrid.Children.Add(new Label() { Text = componentType.GetUnits() }, 2, rowIdx); SKCanvasView skCanvas = new SKCanvasView() { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, HeightRequest = 20 }; skCanvas.PaintSurface += (sender, args) => { var surface = args.Surface; var surfaceWidth = args.Info.Width; var surfaceHeight = args.Info.Height; var r = Math.Min(surfaceHeight, surfaceWidth) / 2; var canvas = surface.Canvas; canvas.DrawCircle(new SKPoint(surfaceWidth - r, r), r, new SKPaint() { Color = Color.Red.ToSKColor(), IsAntialias = true, Style = SKPaintStyle.Fill }); canvas.Flush(); }; SummaryGrid.Children.Add(skCanvas, 3, rowIdx); rowIdx++; } }
/// <summary> /// update existing Daily Result /// </summary> /// <param name="updatedDailyResult"></param> /// <returns>true if update happend, otherwise false</returns> public bool UpdateDailyRecord(DailyRecord updatedDailyResult) { return(_logic.UpdateDailyRecord(updatedDailyResult)); }