예제 #1
0
 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());
     }
 }
예제 #2
0
        /// <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);
            }
        }