Exemplo n.º 1
0
        /// <summary>
        /// Erstellt einen Abmeldeauftrag.
        /// </summary>
        /// <param name="userId">Id des Benutzers, der den Auftrag anlegt.</param>
        /// <param name="customerId">Id des Kunden.</param>
        /// <param name="vehicleId">Id des Fahrzeugs.</param>
        /// <param name="registrationId">Id der Zulassung.</param>
        /// <param name="locationId">Id des Kundenstandorts.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <returns>Den neuen Abmeldeauftrag.</returns>
        /// <remarks>Erstellt auch gleichzeitig den Order-Datensatz.</remarks>
        public static DeregistrationOrder CreateDeregistrationOrder(int userId, int customerId, Vehicle vehicle, Registration registration, int? locationId, 
            int zulassungsstelleId, DataClasses1DataContext dbContext)
        {
            var orderTypeId = dbContext.OrderType.Single(q => q.Id == (int)OrderTypes.Cancellation).Id;
            Order order = Order.CreateOrder(userId, customerId, orderTypeId, zulassungsstelleId, dbContext);
            order.LocationId = locationId;
            DeregistrationOrder deregistrationOrder = new DeregistrationOrder()
            {
                Order = order,
                Vehicle = vehicle,
                Registration = registration
            };

            dbContext.DeregistrationOrder.InsertOnSubmit(deregistrationOrder);
            dbContext.SubmitChanges();
            dbContext.WriteLogItem("Abmeldeauftrag angelegt.", LogTypes.INSERT, deregistrationOrder.OrderNumber, "DeregistrationOrder", vehicle.Id);
            return deregistrationOrder;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Erstellt eine neue Zulassung.
        /// </summary>
        /// <param name="carOwnerId">Id des Halters.</param>
        /// <param name="vehicleId">Id des Fahrzeugs.</param>
        /// <param name="licencenumber">Kennzeichen für die Zulassung.</param>
        /// <param name="evbNumber">eVB-Nummer der Fahrzeugversicherung.</param>
        /// <param name="generalInspectionDate">Datum der Hauptuntersuchung (HU).</param>
        /// <param name="registrationDate">Zulassungsdatum.</param>
        /// <param name="registrationDocumentNumber">Fahrzeugbriefnummer, falls vorhanden.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <returns>Die neue Zulassung.</returns>
        public static Registration CreateRegistration(CarOwner carOwner, Vehicle vehicle, string licencenumber, string evbNumber, DateTime? generalInspectionDate, 
            DateTime? registrationDate, string registrationDocumentNumber, string emissionCode, DataClasses1DataContext dbContext)
        {
            Registration registration = new Registration()
            {
                Vehicle = vehicle,
                CarOwner = carOwner,
                Licencenumber = licencenumber,
                GeneralInspectionDate = generalInspectionDate,
                RegistrationDate = registrationDate,
                RegistrationDocumentNumber = registrationDocumentNumber,
                eVBNumber = evbNumber,
                EmissionCode = emissionCode
            };

            dbContext.Registration.InsertOnSubmit(registration);
            dbContext.SubmitChanges();
            dbContext.WriteLogItem("Zulassung wurde angelegt.", LogTypes.INSERT, registration.Id, "Registration", vehicle.Id);

            return registration;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Erstellt ein neues Fahrzeug.
        /// </summary>
        /// <param name="vin">Fahrgestellnummer des Fahrzeugs.</param>
        /// <param name="hsn">HSN des Fahrzeugs..</param>
        /// <param name="tsn">TSN des Fahrzeugs..</param>
        /// <param name="variant">Variante / Edition des Fahrzeugs.</param>
        /// <param name="firstRegistrationDate">Erstzulassungsdatum.</param>
        /// <param name="colorCode">Farbcode.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <returns>Das neue Fahrzeug.</returns>
        public static Vehicle CreateVehicle(string vin, string hsn, string tsn, string variant, DateTime? firstRegistrationDate, int? colorCode, DataClasses1DataContext dbContext)
        {
            if (string.IsNullOrEmpty(vin))
            {
                ////throw new Exception("Fehler beim Anlegen des Fahrzeugs: Die FIN darf nicht leer sein.");
            }
            else if (vin.Length != 17 && vin.Length != 8)
            {
                throw new Exception("Fehler beim Anlegen des Fahrzeugs: Die FIN muss 8- oder 17-stellig sein.");
            }

            if (string.IsNullOrEmpty(hsn))
            {
                ////throw new Exception("Fehler beim Anlegen des Fahrzeugs: Der Herstellerschlüssel (HSN) darf nicht leer sein.");
            }

            if (string.IsNullOrEmpty(tsn))
            {
                ////throw new Exception("Fehler beim Anlegen des Fahrzeugs: Der Typschlüssel (TSN) darf nicht leer sein.");
            }

            Vehicle vehicle = new Vehicle()
            {
                VIN = vin,
                HSN = hsn,
                TSN = tsn,
                Variant = variant,
                ColorCode = colorCode,
                FirstRegistrationDate = firstRegistrationDate
            };

            dbContext.Vehicle.InsertOnSubmit(vehicle);
            dbContext.SubmitChanges();
            dbContext.WriteLogItem("Fahrzeug " + vin + " angelegt.", LogTypes.INSERT, vehicle.Id, "Vehicle");

            return vehicle;
        }
Exemplo n.º 4
0
 partial void DeleteVehicle(Vehicle instance);
Exemplo n.º 5
0
 partial void UpdateVehicle(Vehicle instance);
Exemplo n.º 6
0
 partial void InsertVehicle(Vehicle instance);
Exemplo n.º 7
0
        private static void CreateReadmission(ReadmissionWiederzulassung wiederzulassung, Vehicle car, DataClasses1DataContext dbContext)
        {
            if (wiederzulassung.Header.ProductCostCenterList.Length > 0)
            {
                string myIban = "";
                if (String.IsNullOrEmpty(wiederzulassung.Bank.Iban))
                    myIban = generateIban(wiederzulassung.Bank.AccountNumber, wiederzulassung.Bank.BankCode);
                else
                    myIban = wiederzulassung.Bank.Iban;

                //wird geprüft ob die Farbe nur Digit ist
                int myColor = 0;
                bool colorIsDigit = false;
                if (!String.IsNullOrEmpty(wiederzulassung.Vehicle.ColorCode))
                {
                    foreach (char a in wiederzulassung.Vehicle.ColorCode)
                    {
                        if (Char.IsDigit(a))
                            colorIsDigit = true;
                        else
                            colorIsDigit = false;
                    }
                }
                if (colorIsDigit)
                    myColor = Convert.ToInt32(wiederzulassung.Vehicle.ColorCode);

                if (car == null)
                {
                    car = Vehicle.CreateVehicle(wiederzulassung.Vehicle.VIN, wiederzulassung.Vehicle.HSN, wiederzulassung.Vehicle.TSN, wiederzulassung.Vehicle.VehicleVariant, wiederzulassung.Vehicle.RegistrationDate, myColor, dbContext);
                }

                var newAdress = Adress.CreateAdress(wiederzulassung.CarOwnerAdress.Street, wiederzulassung.CarOwnerAdress.Streetnumber, wiederzulassung.CarOwnerAdress.Zipcode, wiederzulassung.CarOwnerAdress.City, wiederzulassung.CarOwnerAdress.Country, dbContext);
                var newContact = Contact.CreateContact(wiederzulassung.CarOwnerContact.Phone, wiederzulassung.CarOwnerContact.Fax, wiederzulassung.CarOwnerContact.MobilePhone, wiederzulassung.CarOwnerContact.Email, dbContext);
                var newBankAccount = BankAccount.CreateBankAccount(dbContext, wiederzulassung.Bank.CarOwnerBankName, wiederzulassung.Bank.AccountNumber, wiederzulassung.Bank.BankCode, myIban, wiederzulassung.Bank.Bic);
                var newCarOwner = CarOwner.CreateCarOwner(wiederzulassung.CarOwnerPersonal.Name, wiederzulassung.CarOwnerPersonal.Firstname, newBankAccount.Id, newContact.Id, newAdress.Id, dbContext);
                var newRegistration = KVSCommon.Database.Registration.CreateRegistration(newCarOwner.Id, car.Id,
                    wiederzulassung.Vehicle.LicenceNumber, wiederzulassung.Vehicle.eVBNumber,
                    wiederzulassung.Vehicle.GeneralInspectionDate, null, wiederzulassung.Vehicle.RegistrationDocumentNumber, wiederzulassung.Vehicle.EmissionCode, dbContext);

                Price price = findPrice(wiederzulassung.Header);

                var newRegistrationOrder = RegistrationOrder.CreateRegistrationOrder(currentUserId,
                   new Guid(wiederzulassung.Header.CustomerId), wiederzulassung.Vehicle.LicenceNumber, wiederzulassung.Vehicle.PreviousLicenceNumber, wiederzulassung.Vehicle.eVBNumber,
                   car.Id, newRegistration.Id, new Guid(RegTypes.Wiederzulassung),
                   new Guid(wiederzulassung.Header.LocationId), new Guid (wiederzulassung.Header.ZulassungsstelleId), dbContext);
                newRegistrationOrder.Order.FreeText = wiederzulassung.FreetextField;

                // add first product and costcenter
                var newOrderItem1 = newRegistrationOrder.Order.AddOrderItem(new Guid(wiederzulassung.Header.ProductCostCenterList[0].ProductId), price.Amount, 1, new Guid(wiederzulassung.Header.ProductCostCenterList[0].CostCenterId), null, false, dbContext);

                if (price.AuthorativeCharge.HasValue)
                {
                    var newOrderItem2 = newRegistrationOrder.Order.AddOrderItem(new Guid(wiederzulassung.Header.ProductCostCenterList[0].ProductId), price.AuthorativeCharge.Value, 1, new Guid(wiederzulassung.Header.ProductCostCenterList[0].CostCenterId), newOrderItem1.Id, true, dbContext);
                }

                dbContext.SubmitChanges();

                //add all other products
                AddAnotherProducts(newRegistrationOrder, new Guid(wiederzulassung.Header.LocationId), wiederzulassung.Header, currentUserId);

                car.CurrentRegistrationId = newRegistration.Id;
                dbContext.SubmitChanges();
            }
            else
            {
                throw new Exception("Dienstleistung / Kostenstellen sind nicht miteingegeben!");
            }
        }