public IHttpActionResult GetReceivingTanks(int id) { try { ReceivingTanks fs = this.ef_rf.Get() .Where(c => c.id == id) .FirstOrDefault(); if (fs == null) { return(NotFound()); } return(Ok(fs)); } catch (Exception e) { String.Format("Ошибка выполнения метода API:GetReceivingTanks(id={0})", id).SaveError(e); return(NotFound()); } }
/// <summary> /// Метод переносит приема из локальной базы АЗС в ЦОД /// </summary> /// <returns></returns> public int ReceivingTanksToDC() { try { EFReceivingTanks ef_rt_azs = new EFReceivingTanks(); EFReceivingTanks_AZS ef_rt_dc = new EFReceivingTanks_AZS(); ReceivingTanks_AZS dt_dc_end = ef_rt_dc.Get().OrderByDescending(d => d.dt).FirstOrDefault(); ReceivingTanks dt_start_azs = ef_rt_azs.Get().OrderBy(d => d.dt).FirstOrDefault(); // Получим последнюю запись в ЦОД DateTime?dt_end_dc = dt_dc_end != null ? (DateTime?)dt_dc_end.dt : null; // Проверим если данных нет определим первую запись на азс иначе возьмем вроемя на 1 минуту больше if (dt_end_dc == null) { dt_end_dc = dt_start_azs != null ? (DateTime?)dt_start_azs.dt : null; } else { // следующая минута dt_end_dc = ((DateTime)dt_end_dc).AddMinutes(1); } // Начало переноса не установленно, Ошибка if (dt_end_dc == null) { return(-2); // Ошибка дата начала переноса не установленна } // Определим список для переноса List <ReceivingTanks> list_azs = ef_rt_azs.Get().Where(d => d.dt >= dt_end_dc).OrderBy(c => c.id).ToList(); // Список пуст? if (list_azs == null) { return(0); // Данных для переноса нет } // Определим новый список List <ReceivingTanks_AZS> list_dc = new List <ReceivingTanks_AZS>(); foreach (ReceivingTanks dt in list_azs) { ReceivingTanks_AZS rt_dc = new ReceivingTanks_AZS() { id = 0, dt = dt.dt, id_table = dt.id_table, id_receiving_fuel = dt.id_receiving_fuel, num = dt.num, fuel = dt.fuel, start_datetime = dt.start_datetime, start_level = dt.start_level, start_volume = dt.start_volume, start_density = dt.start_density, start_density_avg = dt.start_density_avg, start_mass = dt.start_mass, start_temp = dt.start_temp, start_water_level = dt.start_water_level, stop_datetime = dt.stop_datetime, stop_level = dt.stop_level, stop_volume = dt.stop_volume, stop_density = dt.stop_density, stop_density_avg = dt.stop_density_avg, stop_mass = dt.stop_mass, stop_temp = dt.stop_temp, stop_water_level = dt.stop_water_level, volume_received = dt.volume_received, dens_received = dt.dens_received, mass_received = dt.mass_received, temp_received = dt.temp_received, relation = dt.relation, ratio_vd = dt.ratio_vd, ratio_tv = dt.ratio_tv, dens15 = dt.dens15, volume15 = dt.volume15, mass15 = dt.mass15 }; list_dc.Add(rt_dc); } // Перенесем и сохраним ef_rt_dc.Add(list_dc); return(ef_rt_dc.Save()); } catch (Exception e) { return(-1); } }