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