public List<ResultMessages> VehicleReadmission(Readmission newReadmission, string username, string password, string InternalId) { List<ResultMessages> results = new List<ResultMessages>(); List<Guid> allowedCustomers = new List<Guid>(); XMLHelper orderHelper = new XMLHelper(); ResultMessages message = new ResultMessages(); allowedCustomers = CheckLogin.CheckUser(username, password, InternalId); if (allowedCustomers.Count > 0) { using (DataClasses1DataContext dbContext = new DataClasses1DataContext(new Guid(ConfigurationManager.AppSettings["currentUser"]))) { dbContext.WriteLogItem("Zugriff von der IP Adresse: " + this.Context.Request.UserHostAddress + "Webservice VehicleReadmission()", LogTypes.INFO); try { string file = orderHelper.XmlSerializeAndSave(newReadmission, OrderTypes.VehicleReadmission); if (File.Exists(file)) { ValidateOrderType.ValidateAndSaveReadmissionValues(newReadmission, dbContext, out results); } else { throw new Exception(file); } } catch (Exception ex) { message.Error = "Fehler beim verabeiten der Daten, bitte wiederholen Sie den Vorgang" + Environment.NewLine + "Fehlermeldung: " + ex.Message; results.Add(message); } } } return results; }
public static void ValidateAndSaveReadmissionValues(Readmission registrationObject, DataClasses1DataContext dbContext, out List<ResultMessages> messages) { ResultMessages result = new ResultMessages(); messages = new List<ResultMessages>(); foreach (ReadmissionWiederzulassung wiederzulassung in registrationObject.Wiederzulassung) { result = new ResultMessages(); if (getOpenedRegistrationOrder(wiederzulassung.Vehicle.VIN).Count == 0) { if (ValidateGuid(wiederzulassung.Header)) { string valGuid = ValidateGuid(wiederzulassung.Header, dbContext); if (valGuid == string.Empty) { Vehicle car = IsVehicleInSystem(wiederzulassung.Vehicle, dbContext); try { CreateReadmission(wiederzulassung, car, dbContext); result.Sucessed = "Sucessed imported VIN: " + wiederzulassung.Vehicle.VIN; messages.Add(result); } catch (Exception ex) { result.Error = ex.Message; result.Readmission = wiederzulassung; messages.Add(result); } } else { result.Error = valGuid; result.Readmission = wiederzulassung; messages.Add(result); } } else { result.Error = "Eins oder mehrere Felder im Header sind keine gültigen Guids"; result.Readmission = wiederzulassung; messages.Add(result); } } else { result.Error = "Für dieses Fahrzeug gibt es noch offene Aufträge"; result.Readmission = wiederzulassung; messages.Add(result); } } }