Вопрос

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

    }            

}
Это было полезно?

Решение

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top