Пример #1
0
        public void Actualizar(Alarma alarma, string nombre, List <string> nroPlacas, List <int> codGeos, int codGeoInicio, List <string> ciDest, string userName)
        {
            Alarma al;

            using (var transation = db.Database.BeginTransaction())
            {
                try
                {
                    alarma.NombreAlarma = nombre;

                    DelAllAlarmaGeo(alarma.CodAlarma);
                    DelAllAlarmaVeh(alarma.CodAlarma);
                    DelAllAlarmaDest(alarma.CodAlarma);

                    foreach (var nroPlaca in nroPlacas)
                    {
                        AlarmaVehiculo alarmaVehiculo = new AlarmaVehiculo
                        {
                            CodAlarma = alarma.CodAlarma,
                            NroPlaca  = nroPlaca,
                            UsuaReg   = userName,
                            FechaReg  = DateTime.Now
                        };

                        db.AlarmaVehiculo.Add(alarmaVehiculo);
                    }
                    db.SaveChanges();
                    foreach (var codGeo in codGeos)
                    {
                        AlarmaGeocerca alarmaGeo = new AlarmaGeocerca
                        {
                            CodAlarma = alarma.CodAlarma,
                            CodigoGEO = codGeo,
                            UsuaReg   = userName,
                            FechaReg  = DateTime.Now
                        };

                        if (codGeoInicio > 0)
                        {
                            if (codGeo == codGeoInicio)
                            {
                                alarmaGeo.Inicio = true;
                            }
                        }

                        db.AlarmaGeocerca.Add(alarmaGeo);
                    }
                    db.SaveChanges();
                    foreach (var ci in ciDest)
                    {
                        AlarmaDestinatarios alarmaDest = new AlarmaDestinatarios
                        {
                            CodAlarma = alarma.CodAlarma,
                            CI        = ci,
                            UsuaReg   = userName,
                            FechaReg  = DateTime.Now
                        };

                        db.AlarmaDestinatarios.Add(alarmaDest);
                    }
                    db.SaveChanges();
                    al = (from s in db.Alarma where s.CodAlarma == alarma.CodAlarma select s).FirstOrDefault();
                    if (al != null)
                    {
                        al.Activa        = alarma.Activa;
                        al.CantidadEnvio = alarma.CantidadEnvio;
                        //al.CategoriaAlarma = alarma.CategoriaAlarma;
                        al.Distancia      = alarma.Distancia;
                        al.Distancia2     = alarma.Distancia2;
                        al.email          = alarma.email;
                        al.FechaHora      = alarma.FechaHora;
                        al.FechaHora2     = alarma.FechaHora2;
                        al.FechaModif     = DateTime.Now;
                        al.IntervaloEnvio = alarma.IntervaloEnvio;
                        al.NombreAlarma   = alarma.NombreAlarma;
                        al.Temperatura    = alarma.Temperatura;
                        al.Temperatura2   = alarma.Temperatura2;
                        al.Tiempo         = alarma.Tiempo;
                        al.Tiempo2        = alarma.Tiempo2;
                        al.TiempoEnvio    = alarma.TiempoEnvio;
                        al.UsuaModif      = userName;
                        al.Velocidad      = alarma.Velocidad;
                        al.Velocidad2     = alarma.Velocidad2;
                    }

                    db.SaveChanges();
                    transation.Commit();
                    //}
                    //catch (DbEntityValidationException ex)
                    //{
                    //	foreach (DbEntityValidationResult item in ex.EntityValidationErrors)
                    //	{
                    //		// Get entry

                    //		DbEntityEntry entry = item.Entry;
                    //		string entityTypeName = entry.Entity.GetType().Name;

                    //		// Display or log error messages

                    //		foreach (DbValidationError subItem in item.ValidationErrors)
                    //		{
                    //			string message = string.Format("Error '{0}' occurred in {1} at {2}",
                    //					 subItem.ErrorMessage, entityTypeName, subItem.PropertyName);
                    //			Console.WriteLine(message);
                    //		}
                    //	}
                }
                catch (Exception)
                {
                    transation.Rollback();
                    throw;
                }
            }
        }
Пример #2
0
        public void AddAlarma(Alarma alarma, List <string> nroPlacas, List <int> codGeos, int codGeoInicio, List <string> ciDest, string userName)
        {
            using (var transation = db.Database.BeginTransaction())
            {
                try
                {
                    db.Alarma.Add(alarma);
                    db.SaveChanges();

                    foreach (var nroPlaca in nroPlacas)
                    {
                        AlarmaVehiculo alarmaVehiculo = new AlarmaVehiculo
                        {
                            CodAlarma = alarma.CodAlarma,
                            NroPlaca  = nroPlaca,
                            EstadoReq = true,
                            Cantidad  = 0,
                            UsuaReg   = userName,
                            FechaReg  = DateTime.Now
                        };

                        db.AlarmaVehiculo.Add(alarmaVehiculo);
                    }

                    foreach (var codGeo in codGeos)
                    {
                        AlarmaGeocerca alarmaGeo = new AlarmaGeocerca
                        {
                            CodAlarma = alarma.CodAlarma,
                            CodigoGEO = codGeo,
                            Inicio    = false,
                            UsuaReg   = userName,
                            FechaReg  = DateTime.Now
                        };

                        if (codGeoInicio > 0)
                        {
                            if (codGeo == codGeoInicio)
                            {
                                alarmaGeo.Inicio = true;
                            }
                        }

                        db.AlarmaGeocerca.Add(alarmaGeo);
                    }

                    foreach (var ci in ciDest)
                    {
                        AlarmaDestinatarios alarmaDest = new AlarmaDestinatarios
                        {
                            CodAlarma = alarma.CodAlarma,
                            CI        = ci,
                            UsuaReg   = userName,
                            FechaReg  = DateTime.Now
                        };

                        db.AlarmaDestinatarios.Add(alarmaDest);
                    }

                    db.SaveChanges();
                    transation.Commit();
                }
                catch (Exception)
                {
                    transation.Rollback();
                }
            }
        }