示例#1
0
        /// <summary>
        /// Crea o actualiza un registro de tipo vehiculo en la DB
        /// </summary>
        /// <param name="_veh"></param>
        /// <returns></returns>
        public static Boolean mergeOrCreate(Vehiculo _veh)
        {
            if (_veh.matriculaVehiculo != null)
            {
                if (_veh.fechaAlta != "IGNORAR")
                {
                    recso2011DBEntities gestor = claseIntercambio.getGestor();
                    int cont = (from e in gestor.Vehiculos
                                where e.matriculaVehiculo == _veh.matriculaVehiculo
                                select e).Count();

                    if (cont > 0)
                    {
                        //existe, toca modificar
                        Vehiculo veh = (from e in gestor.Vehiculos
                                        where e.matriculaVehiculo == _veh.matriculaVehiculo
                                        select e).First <Vehiculo>();

                        veh.matriculaVehiculo = _veh.matriculaVehiculo;
                        veh.recnumEmpresa     = _veh.recnumEmpresa;

                        veh.fechaAlta = _veh.fechaAlta;

                        veh.fechaBaja = _veh.fechaBaja;
                    }
                    else
                    {
                        if (_veh.fechaAlta != "IGNORAR")
                        {
                            _veh.fechaAlta = DateTime.Today.ToShortDateString();
                            gestor.AddToVehiculos(_veh);
                        }
                    }

                    gestor.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave);
                }
            }
            return(true);
        }