Question

Why do I get this error:

Error 1 'JoomlaWebservice.KundeService' does not implement interface member 'JoomlaWebservice.ServiceInterface.HentOpgave(int)'. 'JoomlaWebservice.KundeService.HentOpgave(int)' cannot implement 'JoomlaWebservice.ServiceInterface.HentOpgave(int)' because it does not have the matching return type of 'JoomlaWebservice.Opgave'. C:\Visual Studio 2010\Projects\JoomlaWebservice\JoomlaWebservice\KundeService.svc.cs 12 18 JoomlaWebservice

Code (Service):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace JoomlaWebservice
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
    public class KundeService : ServiceInterface
    {

        LIMSEntities LimsEntities;

        public class OpgaveOverskrift
        {
            public int id { get; set; }
            public string nummer { get; set; }
            public string sagsnavn { get; set; }
            public string sagsnr { get; set; }
            public string matrix { get; set; }
            public string status { get; set; }

        }

        public class Opgave
        {

            public int id { get; set; }
            public string nummer { get; set; }
            public string sagsnavn { get; set; }
            public string sagsnr { get; set; }
            public string journalnr { get; set; }
            public string omnummer { get; set; }
            public string matrix { get; set; }
            public string status { get; set; }
            public string anlaeg { get; set; }
            public string anlaeg_kode2 { get; set; }
            public bool akkrediteret { get; set; }
            public string modtagdato { get; set; }
            public string analysedato { get; set; }
            public string rapportdato { get; set; }
            public int antalproever { get; set; }
            public string preopbevar { get; set; }
            public int antalbilag { get; set; }
            public string rapportnoter { get; set; }
            public string afssagsbehandler_navn { get; set; }
            public string afssagsbehandler_titel { get; set; }
            public string hmansvarlig_navn { get; set; }
            public string hmansvarlig_titel { get; set; }

            public string kontakt { get; set; } //k0_kontakt01
            public string afdeling { get; set; }
            public string adresse { get; set; }
            public string nation { get; set; }
            public string postnummer { get; set; }
            public string distrikt { get; set; }

            public string postdist { get; set; } //std00002

        }

        public class Parameter
        {
            public int id { get; set; }
            public int o1id { get; set; }
            public string minimum { get; set; }
            public string vejledende { get; set; }
            public string maksimum { get; set; }
            public string bemaerkning { get; set; }
            public string parameter { get; set; }
            public int metoderf { get; set; }
            public int raekkefoelge { get; set; }
            public string enhed { get; set; }
            public string metoderef { get; set; }
            public string detektionsgraense { get; set; }
            public string nedremaalegraense { get; set; }
            public string oevremaalegraense { get; set; }
            public string knaek { get; set; }
            public string nedreusikkerhedabs { get; set; }
            public string nedreusikkerhedrel { get; set; }
            public string oevreusikkerhedabs { get; set; }
            public string oevreusikkerhedrel { get; set; }
            public string resultat { get; set; }
            public int a0id { get; set; }
            public bool akkrediteret { get; set; }
            public string analysested { get; set; }
            public string kommentar { get; set; }

            public int laboratorieid { get; set; } //a_internmetode

            public string danakkode { get; set; } //k0_kontakt01

        }

        public List<Parameter> Parametre(int o1id)
        {

            using (LimsEntities = new LIMSEntities())
            {
                return  (from i in LimsEntities.O2_Parameter01
                        where i.O1ID == o1id
                        select new Parameter()
                        {
                            a0id = i.A0ID.HasValue ? (int)i.A0ID : 0,
                            akkrediteret = i.Akkrediteret.HasValue ? (bool)i.Akkrediteret : false,
                            analysested = i.AnalyseSted,
                            bemaerkning = i.Bemærkning,
                            detektionsgraense = i.Detektionsgrænse,
                            enhed = i.Enhed,
                            id = i.ID,
                            knaek = i.Knæk,
                            kommentar = i.Kommentar,
                            maksimum = i.Maksimum,
                            metoderef = i.Metoderef,
                            metoderf = i.MetodeRf.HasValue ? (int)i.MetodeRf : 1,
                            minimum = i.Minimum,
                            nedremaalegraense = i.NedreMålegrænse,
                            nedreusikkerhedabs = i.NedreUsikkerhedAbs,
                            nedreusikkerhedrel = i.NedreUsikkerhedRel,
                            o1id = i.O1ID,
                            oevremaalegraense = i.ØvreMålegrænse,
                            oevreusikkerhedabs = i.ØvreUsikkerhedAbs,
                            oevreusikkerhedrel = i.ØvreUsikkerhedRel,
                            parameter = i.Parameter,
                            raekkefoelge = i.Rækkefølge.HasValue ? (int)i.Rækkefølge : 1,
                            resultat = i.Resultat,
                            vejledende = i.VejledendeVærdi,
                            laboratorieid = i.ParameterIAnalyser.A_InternMetode.K0ID.HasValue ? (int)i.ParameterIAnalyser.A_InternMetode.K0ID : 0,
                            danakkode = i.ParameterIAnalyser.A_InternMetode.K0_Kontakt01.DANAKkode

                        }).ToList();    
            }                
        }

        public class Proeve
        {

            public int id { get; set; }
            public int o0id { get; set; }
            public string omfang { get; set; }
            public string formaal { get; set; }
            public string proevetager { get; set; }
            public string udtagdatostart { get; set; }
            public string udtagdatoslut { get; set; }
            public string dybde { get; set; }
            public string proeveid { get; set; }

            public string abtekst { get; set; } //ab_formål

        }

        public List<Proeve> Proever(int o0id)
        {
            using (LimsEntities = new LIMSEntities())
            {
                return (from i in LimsEntities.O1_Prøve
                        join f in LimsEntities.AB_Formål on i.Formål equals f.ID.ToString() into fs
                        from f in fs.DefaultIfEmpty()
                        where i.O0ID == o0id
                        select new Proeve()
                        {
                            id = i.ID,
                            o0id = i.O0ID,
                            omfang = i.Omfang,
                            formaal = i.Formål,
                            proevetager = i.Prøvetager,
                            udtagdatostart = i.UdtagDatoStart,
                            udtagdatoslut = i.UdtagDatoSlut,
                            dybde = i.Dybde,
                            proeveid = i.PrøveID,
                            abtekst = f == null ? "" : f.Tekst

                        }).ToList();
            }
        }

        public int Login(String username, String password)
        {
            LimsEntities = new LIMSEntities();

            IEnumerable<K1_Kontaktperson01> kontakter = from k in LimsEntities.K1_Kontaktperson01
                                                        where k.HSBrugernavn == username && k.HSAdgangskode == password
                                                        select k;
            return kontakter.FirstOrDefault().K0ID;
        }

        public List<OpgaveOverskrift> OpgaveOverskrifter(int k0id)
        {

            using (LimsEntities = new LIMSEntities())
            {
                return (from i in LimsEntities.O0_Opgave01
                        where i.K0ID == k0id
                        select new OpgaveOverskrift()
                        {
                            id = i.ID,
                            nummer = i.Nummer,
                            sagsnavn = i.Sagsnavn,
                            sagsnr = i.SagsNr,
                            matrix = i.Matrix,
                            status = i.Status
                        }).ToList();
            }

        }

        public Opgave HentOpgave(int o0id)
        {
           /* Opgave test = new Opgave();
            return test;*/

            using (LimsEntities = new LIMSEntities())
            {
                return (from i in LimsEntities.O0_Opgave01
                        where i.ID == o0id
                        select new Opgave()
                        {
                            id = i.ID,
                            nummer = i.Nummer,
                            sagsnavn = i.Sagsnavn,
                            sagsnr = i.SagsNr,
                            matrix = i.Matrix,
                            journalnr = i.JournalNr,
                            omnummer = i.OMNummer,
                            status = i.Status,
                            anlaeg = i.Anlæg,
                            anlaeg_kode2 = i.Anlæg_Kode2,
                            akkrediteret = i.Akkrediteret,
                            modtagdato = i.ModtagDato,
                            analysedato = i.AnalyseDato,
                            rapportdato = i.RapportDato,
                            antalproever = i.AntalPrøver.HasValue ? (int)i.AntalPrøver.Value : 0,
                            preopbevar = i.PreOpbevar,
                            antalbilag = i.AntalBilag.HasValue ? (int)i.AntalBilag.Value : 0,
                            rapportnoter = i.RapportNoter,
                            afssagsbehandler_navn = i.AFSSagsbehandler_Navn,
                            afssagsbehandler_titel = i.AFSSagsbehandler_Titel,
                            hmansvarlig_navn = i.HMAnsvarlig_Navn,
                            hmansvarlig_titel = i.HMAnsvarlig_Titel,
                            kontakt = i.K0_Kontakt01.Kontakt,
                            afdeling = i.K0_Kontakt01.Afdeling,
                            adresse = i.K0_Kontakt01.Adresse,
                            nation = i.K0_Kontakt01.Nation,
                            postnummer = i.K0_Kontakt01.Postnummer,
                            distrikt = i.K0_Kontakt01.Distrikt,
                            postdist = i.K0_Kontakt01.std00002.postdist

                        }).FirstOrDefault();
            }
        }                     

    }
}

Code (Interface):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace JoomlaWebservice
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface ServiceInterface
    {

        [OperationContract]
        int Login(String username, String password);

        [OperationContract]
        Opgave HentOpgave(int o0id);

        // TODO: Add your service operations here
    }


    // Use a data contract as illustrated in the sample below to add composite types to service operations.
     [DataContract]
    public class OpgaveOverskrift
    {
        [DataMember]
        public int id { get; set; }
        [DataMember]
        public string sagsnavn { get; set; }
        [DataMember]
        public string sagsnr { get; set; }
        [DataMember]
        public string matrix { get; set; }
        [DataMember]
        public string status { get; set; }

    }

    [DataContract]
    public class Opgave
    {
        [DataMember]
        public int id { get; set; }
        [DataMember]
        public string nummer { get; set; }
        [DataMember]
        public string sagsnavn { get; set; }
        [DataMember]
        public string sagsnr { get; set; }
        [DataMember]
        public string journalnr { get; set; }
        [DataMember]
        public string omnummer { get; set; }
        [DataMember]
        public string matrix { get; set; }
        [DataMember]
        public string status { get; set; }
        [DataMember]
        public string anlaeg { get; set; }
        [DataMember]
        public string anlaeg_kode2 { get; set; }
        [DataMember]
        public bool akkrediteret { get; set; }
        [DataMember]
        public string modtagdato { get; set; }
        [DataMember]
        public string analysedato { get; set; }
        [DataMember]
        public string rapportdato { get; set; }
        [DataMember]
        public int antalproever { get; set; }
        [DataMember]
        public string preopbevar { get; set; }
        [DataMember]
        public int antalbilag { get; set; }
        [DataMember]
        public string rapportnoter { get; set; }
        [DataMember]
        public string afssagsbehandler_navn { get; set; }
        [DataMember]
        public string afssagsbehandler_titel { get; set; }
        [DataMember]
        public string hmansvarlig_navn { get; set; }
        [DataMember]
        public string hmansvarlig_titel { get; set; }

        [DataMember]
        public string kontakt { get; set; } //k0_kontakt01
        [DataMember]
        public string afdeling { get; set; }
        [DataMember]
        public string adresse { get; set; }
        [DataMember]
        public string nation { get; set; }
        [DataMember]
        public string postnummer { get; set; }
        [DataMember]
        public string distrikt { get; set; }

        [DataMember]
        public string postdist { get; set; } //std00002
    }

    [DataContract]
    public class Proeve
    {

        [DataMember]
        public int id { get; set; }
        [DataMember]
        public int o0id { get; set; }
        [DataMember]
        public string omfang { get; set; }
        [DataMember]
        public string formaal { get; set; }
        [DataMember]
        public string proevetager { get; set; }
        [DataMember]
        public string udtagdatostart { get; set; }
        [DataMember]
        public string udtagdatoslut { get; set; }
        [DataMember]
        public string dybde { get; set; }
        [DataMember]
        public string proeveid { get; set; }

        [DataMember]
        public string abtekst { get; set; } //ab_formål

    }

    [DataContract]
    public class Parameter
    {
        [DataMember]
        public int id { get; set; }
        [DataMember]
        public int o1id { get; set; }
        [DataMember]
        public string minimum { get; set; }
        [DataMember]
        public string vejledende { get; set; }
        [DataMember]
        public string maksimum { get; set; }
        [DataMember]
        public string bemaerkning { get; set; }
        [DataMember]
        public string parameter { get; set; }
        [DataMember]
        public int metoderf { get; set; }
        [DataMember]
        public int raekkefoelge { get; set; }
        [DataMember]
        public string enhed { get; set; }
        [DataMember]
        public string metoderef { get; set; }
        [DataMember]
        public string detektionsgraense { get; set; }
        [DataMember]
        public string nedremaalegraense { get; set; }
        [DataMember]
        public string oevremaalegraense { get; set; }
        [DataMember]
        public string knaek { get; set; }
        [DataMember]
        public string nedreusikkerhedabs { get; set; }
        [DataMember]
        public string nedreusikkerhedrel { get; set; }
        [DataMember]
        public string oevreusikkerhedabs { get; set; }
        [DataMember]
        public string oevreusikkerhedrel { get; set; }
        [DataMember]
        public string resultat { get; set; }
        [DataMember]
        public int a0id { get; set; }
        [DataMember]
        public bool akkrediteret { get; set; }
        [DataMember]
        public string analysested { get; set; }
        [DataMember]
        public string kommentar { get; set; }

        [DataMember]
        public int laboratorieid { get; set; } //a_internmetode

        [DataMember]
        public string danakkode { get; set; } //k0_kontakt01

    }            

}
Était-ce utile?

La solution

You're returning JoomlaWebservice.KundeService.Opgave, not JoomlaWebservice.Opgave. You need to change your code to either return the contract directly or to map between your created object and the contract.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top