/// <summary> /// 称重数据插入本地数据 /// </summary> /// <param name="dto"></param> /// <returns></returns> public WeightGridDto InsertWeightGrid(WeightGridDto dto) { var model = new WeightGridDto(); try { using (var sql = SqliteDbContext.GetInstance()) { //获取上一条未提交到服务器的数据 var localLastWeight = sql.Queryable <WeightGridDto>().Where(s => s.BatchId == dto.BatchId && s.Uploadflag == 0) .OrderBy(s => s.WeightTime, OrderByType.Desc).First(); //插入本条数据 sql.Insertable(dto).ExecuteCommand(); if (localLastWeight != null) { model = localLastWeight; } } return(model); } catch (Exception e) { LogNHelper.Exception(e); } return(null); }
/// <summary> /// 保存数据到服务器 /// </summary> /// <param name="hooks"></param> /// <param name="isTrace"></param> /// <param name="weightTime"></param> /// <returns></returns> public bool SaveDataToServer(List <string> hooks, bool isTrace, WeightGridDto dto) { try { var hookDt = new DataTable("Hooks"); hookDt.Columns.Add("hookId", typeof(string)); hookDt.Columns.Add("attachTime", typeof(DateTime)); hookDt.Columns.Add("animalId", typeof(string)); if (isTrace) { foreach (var hook in hooks) { DataRow dr = hookDt.NewRow(); dr["hookId"] = hook; dr["attachTime"] = dto.WeightTime; dr["animalId"] = ""; hookDt.Rows.Add(dr); } } else { foreach (var hook in hooks) { DataRow dr = hookDt.NewRow(); dr["hookId"] = hook; dr["attachTime"] = dto.WeightTime; dr["animalId"] = ""; hookDt.Rows.Add(dr); } } SqlParameter[] parameters = { new SqlParameter("@batchId", SqlDbType.Char), new SqlParameter("@hooksToSave", SqlDbType.Structured), new SqlParameter("@grossWeights", SqlDbType.Decimal), new SqlParameter("@productName", SqlDbType.VarChar), new SqlParameter("@ProductPrice", SqlDbType.Decimal) }; parameters[0].Value = dto.BatchId; parameters[1].Value = hookDt; parameters[2].Value = dto.MaoWeight; parameters[3].Value = dto.ProductName; parameters[4].Value = dto.Price; int rowsAffected = DbHelperSQL.ExcuteProcedure("SaveWeighingInfo", parameters); //int rowsAffected = ExecuteProcedure("SaveWeighingInfo", parameters); // LogNHelper.Info("rowsAffected1:" + rowsAffected); //删除本地勾号 if (rowsAffected > 0) { var stime = new DateTime(dto.WeightTime.Year, dto.WeightTime.Month, dto.WeightTime.Day); using (var sql = SqliteDbContext.GetInstance()) { sql.Deleteable <WeightHooks>().Where(s => s.ReadTime > stime && hooks.Contains(s.HookNumber)) .ExecuteCommand(); sql.Updateable <WeightGridDto>().UpdateColumns(s => new WeightGridDto() { Uploadflag = 1 }) .Where(s => s.Id == dto.Id).ExecuteCommand(); } return(true); } } catch (Exception e) { LogNHelper.Exception(e); } return(false); }