public void SetPhoto(int p_oid, string p_photo)
        {
            /*PROTECTED REGION ID(ChroniGenNHibernate.CEN.Chroni_Practitioner_setPhoto) ENABLED START*/

            // Write here your custom code...

            PractitionerCAD practitionerCAD = new PractitionerCAD();
            PractitionerCEN practitionerCEN = new PractitionerCEN(practitionerCAD);

            if (p_oid > 0)
            {
                PractitionerEN practitioner = practitionerCEN.ReadOID(p_oid);

                if (practitioner != null)
                {
                    if (!string.IsNullOrEmpty(p_photo))
                    {
                        practitioner.Photo = p_photo;
                        practitionerCAD.Modify(practitioner);
                    }
                }
            }

            /*PROTECTED REGION END*/
        }
        public void SetEndDate(int p_oid, Nullable <DateTime> p_endDate)
        {
            /*PROTECTED REGION ID(ChroniGenNHibernate.CEN.Chroni_Practitioner_setEndDate) ENABLED START*/

            // Write here your custom code...

            PractitionerCAD practitionerCAD = new PractitionerCAD();
            PractitionerCEN practitionerCEN = new PractitionerCEN(practitionerCAD);

            if (p_oid > 0)
            {
                PractitionerEN practitioner = practitionerCEN.ReadOID(p_oid);

                if (practitioner != null)
                {
                    if (p_endDate != null && p_endDate >= practitioner.StartDate)
                    {
                        practitioner.EndDate = p_endDate;
                        practitionerCAD.Modify(practitioner);
                    }
                }
            }

            /*PROTECTED REGION END*/
        }
Exemple #3
0
        public void Destroy(int identifier
                            )
        {
            try
            {
                SessionInitializeTransaction();
                PractitionerEN practitionerEN = (PractitionerEN)session.Load(typeof(PractitionerEN), identifier);
                session.Delete(practitionerEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
Exemple #4
0
        public void SetPassword(int p_oid, string p_passwordCurrant, string p_passwordNew)
        {
            /*PROTECTED REGION ID(ChroniGenNHibernate.CEN.Chroni_Practitioner_setPassword) ENABLED START*/

            // Write here your custom code...

            PractitionerCAD practitionerCAD = new PractitionerCAD();
            PractitionerCEN practitionerCEN = new PractitionerCEN(practitionerCAD);

            if (p_oid > 0)
            {
                PractitionerEN practitioner = practitionerCEN.ReadOID(p_oid);

                if (practitioner != null)
                {
                    if (!string.IsNullOrEmpty(p_passwordCurrant) && !string.IsNullOrEmpty(p_passwordNew))
                    {
                        if (Utils.Util.GetEncondeMD5(p_passwordCurrant).Equals(practitioner.Password))
                        {
                            practitioner.Password = Utils.Util.GetEncondeMD5(p_passwordNew);
                            practitionerCAD.Modify(practitioner);
                        }
                    }
                }
            }

            /*PROTECTED REGION END*/
        }
Exemple #5
0
        // GET: DashBoard/Practitioners/Delete/5
        public ActionResult Delete(int id)
        {
            ViewBag.menu = "Practitioners";

            SessionInitialize();

            PractitionerCAD cadPos = new PractitionerCAD();
            PractitionerCEN cen    = new PractitionerCEN(cadPos);

            cen.Destroy(id);

            PractitionerEN pos = cen.ReadOID(id);

            SessionClose();


            if (pos == null)
            {
                TempData["resultado"] = Resources.textos.deleteOK;
                TempData["ok"]        = "success";
            }
            else
            {
                TempData["resultado"] = Resources.textos.errorKO;
                TempData["ok"]        = "danger";
            }

            return(RedirectToAction("Index"));
        }
Exemple #6
0
// Modify default (Update all attributes of the class)

        public void ModifyDefault(PractitionerEN practitioner)
        {
            try
            {
                SessionInitializeTransaction();
                PractitionerEN practitionerEN = (PractitionerEN)session.Load(typeof(PractitionerEN), practitioner.Id);

                session.Update(practitionerEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MoSIoTGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MoSIoTGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
Exemple #7
0
        public int New_(PractitionerEN practitioner)
        {
            try
            {
                SessionInitializeTransaction();
                if (practitioner.Location != null)
                {
                    for (int i = 0; i < practitioner.Location.Count; i++)
                    {
                        practitioner.Location [i] = (ChroniGenNHibernate.EN.Chroni.LocationEN)session.Load(typeof(ChroniGenNHibernate.EN.Chroni.LocationEN), practitioner.Location [i].Identifier);
                        practitioner.Location [i].Practitioner.Add(practitioner);
                    }
                }

                session.Save(practitioner);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(practitioner.Identifier);
        }
        public int New_(string p_name, int p_scenario, string p_description, int p_userPractitioner)
        {
            PractitionerEN practitionerEN = null;
            int            oid;

            //Initialized PractitionerEN
            practitionerEN      = new PractitionerEN();
            practitionerEN.Name = p_name;


            if (p_scenario != -1)
            {
                // El argumento p_scenario -> Property scenario es oid = false
                // Lista de oids id
                practitionerEN.Scenario    = new MoSIoTGenNHibernate.EN.MosIoT.IoTScenarioEN();
                practitionerEN.Scenario.Id = p_scenario;
            }

            practitionerEN.Description = p_description;


            if (p_userPractitioner != -1)
            {
                // El argumento p_userPractitioner -> Property userPractitioner es oid = false
                // Lista de oids id
                practitionerEN.UserPractitioner    = new MoSIoTGenNHibernate.EN.MosIoT.UserEN();
                practitionerEN.UserPractitioner.Id = p_userPractitioner;
            }

            //Call to PractitionerCAD

            oid = _IPractitionerCAD.New_(practitionerEN);
            return(oid);
        }
        public void Modify(int p_Practitioner_OID, string p_nif, bool p_active, ChroniGenNHibernate.Enumerated.Chroni.PractitionerRoleEnum p_role, string p_name, string p_surnames, ChroniGenNHibernate.Enumerated.Chroni.GenderEnum p_gender, Nullable <DateTime> p_birthDate, string p_address, string p_email, string p_phone, string p_photo, Nullable <DateTime> p_startDate, Nullable <DateTime> p_endDate, String p_password)
        {
            PractitionerEN practitionerEN = null;

            //Initialized PractitionerEN
            practitionerEN            = new PractitionerEN();
            practitionerEN.Identifier = p_Practitioner_OID;
            practitionerEN.Nif        = p_nif;
            practitionerEN.Active     = p_active;
            practitionerEN.Role       = p_role;
            practitionerEN.Name       = p_name;
            practitionerEN.Surnames   = p_surnames;
            practitionerEN.Gender     = p_gender;
            practitionerEN.BirthDate  = p_birthDate;
            practitionerEN.Address    = p_address;
            practitionerEN.Email      = p_email;
            practitionerEN.Phone      = p_phone;
            practitionerEN.Photo      = p_photo;
            practitionerEN.StartDate  = p_startDate;
            practitionerEN.EndDate    = p_endDate;
            practitionerEN.Password   = Utils.Util.GetEncondeMD5(p_password);
            //Call to PractitionerCAD

            _IPractitionerCAD.Modify(practitionerEN);
        }
Exemple #10
0
        public PractitionerEN ReadOIDDefault(int id
                                             )
        {
            PractitionerEN practitionerEN = null;

            try
            {
                SessionInitializeTransaction();
                practitionerEN = (PractitionerEN)session.Get(typeof(PractitionerEN), id);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MoSIoTGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MoSIoTGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(practitionerEN);
        }
        public void SetGender(int p_oid, ChroniGenNHibernate.Enumerated.Chroni.GenderEnum p_gender)
        {
            /*PROTECTED REGION ID(ChroniGenNHibernate.CEN.Chroni_Practitioner_setGender) ENABLED START*/

            // Write here your custom code...

            PractitionerCAD practitionerCAD = new PractitionerCAD();
            PractitionerCEN practitionerCEN = new PractitionerCEN(practitionerCAD);

            if (p_oid > 0)
            {
                PractitionerEN practitioner = practitionerCEN.ReadOID(p_oid);

                if (practitioner != null)
                {
                    if (p_gender > 0)
                    {
                        practitioner.Gender = p_gender;
                        practitionerCAD.Modify(practitioner);
                    }
                }
            }

            /*PROTECTED REGION END*/
        }
        public PractitionerEN ReadOID(int id
                                      )
        {
            PractitionerEN practitionerEN = null;

            practitionerEN = _IPractitionerCAD.ReadOID(id);
            return(practitionerEN);
        }
        public int New_(string p_nif, bool p_active, ChroniGenNHibernate.Enumerated.Chroni.PractitionerRoleEnum p_role, string p_name, string p_surnames, ChroniGenNHibernate.Enumerated.Chroni.GenderEnum p_gender, Nullable <DateTime> p_birthDate, string p_address, string p_email, string p_phone, string p_photo, Nullable <DateTime> p_startDate, Nullable <DateTime> p_endDate, System.Collections.Generic.IList <int> p_location, String p_password)
        {
            PractitionerEN practitionerEN = null;
            int            oid;

            //Initialized PractitionerEN
            practitionerEN     = new PractitionerEN();
            practitionerEN.Nif = p_nif;

            practitionerEN.Active = p_active;

            practitionerEN.Role = p_role;

            practitionerEN.Name = p_name;

            practitionerEN.Surnames = p_surnames;

            practitionerEN.Gender = p_gender;

            practitionerEN.BirthDate = p_birthDate;

            practitionerEN.Address = p_address;

            practitionerEN.Email = p_email;

            practitionerEN.Phone = p_phone;

            practitionerEN.Photo = p_photo;

            practitionerEN.StartDate = p_startDate;

            practitionerEN.EndDate = p_endDate;


            practitionerEN.Location = new System.Collections.Generic.List <ChroniGenNHibernate.EN.Chroni.LocationEN>();
            if (p_location != null)
            {
                foreach (int item in p_location)
                {
                    ChroniGenNHibernate.EN.Chroni.LocationEN en = new ChroniGenNHibernate.EN.Chroni.LocationEN();
                    en.Identifier = item;
                    practitionerEN.Location.Add(en);
                }
            }

            else
            {
                practitionerEN.Location = new System.Collections.Generic.List <ChroniGenNHibernate.EN.Chroni.LocationEN>();
            }

            practitionerEN.Password = Utils.Util.GetEncondeMD5(p_password);

            //Call to PractitionerCAD

            oid = _IPractitionerCAD.New_(practitionerEN);
            return(oid);
        }
        public void Modify(int p_Practitioner_OID, string p_name, string p_description)
        {
            PractitionerEN practitionerEN = null;

            //Initialized PractitionerEN
            practitionerEN             = new PractitionerEN();
            practitionerEN.Id          = p_Practitioner_OID;
            practitionerEN.Name        = p_name;
            practitionerEN.Description = p_description;
            //Call to PractitionerCAD

            _IPractitionerCAD.Modify(practitionerEN);
        }
Exemple #15
0
        public ActionResult Edit(int id, FormCollection collection)
        {
            ViewBag.menu = "Practitioners";
            PractitionerCAD cadPos     = new PractitionerCAD();
            PractitionerCEN cen        = new PractitionerCEN(cadPos);
            PractitionerEN  positionEN = null;

            try
            {
                positionEN       = cen.ReadOID(id);
                positionEN.Name  = collection["Name"].ToString();
                positionEN.Email = collection["Email"].ToString();
                positionEN.Phone = collection["Phone"].ToString();
                int esp = Convert.ToInt32(collection["especialidades"]);

                if (positionEN.Specialty != null)
                {
                    if (esp > 0)
                    {
                        cen.UnassignSpecialty(positionEN.Identifier, positionEN.Specialty.Identifier);
                        cen.AssignSpecialty(positionEN.Identifier, esp);
                    }
                    else
                    {
                        cen.UnassignSpecialty(positionEN.Identifier, positionEN.Specialty.Identifier);
                    }
                }
                else
                {
                    if (esp > 0)
                    {
                        cen.AssignSpecialty(positionEN.Identifier, esp);
                    }
                }

                cen.Modify(positionEN.Identifier, positionEN.Nif, positionEN.Active, positionEN.Role, positionEN.Name, positionEN.Surnames, positionEN.Gender, positionEN.BirthDate, positionEN.Address, positionEN.Email, positionEN.Phone, positionEN.Photo, positionEN.StartDate, positionEN.EndDate, positionEN.Password);

                TempData["resultado"] = Resources.textos.editOK;
                TempData["ok"]        = "success";

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                positionEN    = cen.ReadOID(id);
                ViewBag.error = ex.Message;

                return(View(positionEN));
            }
        }
Exemple #16
0
        // GET: DashBoard/Practitioners/Details/5
        public ActionResult Details(int id)
        {
            SessionInitialize();

            string resultado   = "";
            string specialidad = "";

            PractitionerCAD cadLoc = new PractitionerCAD();
            PractitionerCEN cen    = new PractitionerCEN(cadLoc);

            SpecialtyCAD speCad = new SpecialtyCAD();
            SpecialtyCEN speCen = new SpecialtyCEN(speCad);

            PractitionerEN locEN = cen.ReadOID(id);

            if (locEN.Specialty != null && locEN.Specialty.Identifier > 0)
            {
                SpecialtyEN specEN = speCen.ReadOID(locEN.Specialty.Identifier);
                specialidad = specEN.Display;
            }
            else
            {
                specialidad = Resources.textos.modelEmpty;
            }

            Dictionary <string, string> res = new Dictionary <string, string>();

            if (locEN != null)
            {
                resultado = "<ul><li><strong>Id: </strong>" + locEN.Identifier + "</li><li><strong>Nombre: </strong>" + locEN.Name + "</li><li><strong>Teléfono: </strong>" + locEN.Phone + "</li><li><strong>Email: </strong>" + locEN.Email + "</li> <li><strong>Especialidad: </strong>" + specialidad + "</li> <li><strong>Dirección: </strong>" + locEN.Address + "</li></ul>";
                res.Add("titulo", Resources.textos.detailsModal);
            }
            else
            {
                resultado = "<p>" + Resources.textos.errorDataModal + " " + id.ToString() + "</p>";
                res.Add("titulo", Resources.textos.modalTitulo);
            }

            res.Add("contenido", resultado);

            SessionClose();

            return(Json(res));
        }
Exemple #17
0
        public static PractitionerDTOA Convert(EntityEN en, NHibernate.ISession session = null)
        {
            PractitionerDTOA    dto = null;
            PractitionerRESTCAD practitionerRESTCAD = null;
            PractitionerCEN     practitionerCEN     = null;
            PractitionerCP      practitionerCP      = null;

            if (en != null)
            {
                dto = new PractitionerDTOA();
                practitionerRESTCAD = new PractitionerRESTCAD(session);
                practitionerCEN     = new PractitionerCEN(practitionerRESTCAD);
                practitionerCP      = new PractitionerCP(session);


                PractitionerEN enHijo = practitionerRESTCAD.ReadOIDDefault(en.Id);



                //
                // Attributes

                dto.Id = en.Id;

                dto.Name = en.Name;


                dto.Description = en.Description;


                //
                // TravesalLink

                /* Rol: Practitioner o--> User */
                dto.PractitionerData = UserAssembler.Convert((UserEN)enHijo.UserPractitioner, session);


                //
                // Service
            }

            return(dto);
        }
Exemple #18
0
        public int New_(PractitionerEN practitioner)
        {
            try
            {
                SessionInitializeTransaction();
                if (practitioner.Scenario != null)
                {
                    // Argumento OID y no colección.
                    practitioner.Scenario = (MoSIoTGenNHibernate.EN.MosIoT.IoTScenarioEN)session.Load(typeof(MoSIoTGenNHibernate.EN.MosIoT.IoTScenarioEN), practitioner.Scenario.Id);

                    practitioner.Scenario.Entity
                    .Add(practitioner);
                }
                if (practitioner.UserPractitioner != null)
                {
                    // Argumento OID y no colección.
                    practitioner.UserPractitioner = (MoSIoTGenNHibernate.EN.MosIoT.UserEN)session.Load(typeof(MoSIoTGenNHibernate.EN.MosIoT.UserEN), practitioner.UserPractitioner.Id);

                    practitioner.UserPractitioner.Practitioner
                    .Add(practitioner);
                }

                session.Save(practitioner);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is MoSIoTGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new MoSIoTGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(practitioner.Id);
        }
        public void SetActive(int p_oid, bool p_active)
        {
            /*PROTECTED REGION ID(ChroniGenNHibernate.CEN.Chroni_Practitioner_setActive) ENABLED START*/

            // Write here your custom code...

            PractitionerCAD practitionerCAD = new PractitionerCAD();
            PractitionerCEN practitionerCEN = new PractitionerCEN(practitionerCAD);

            if (p_oid > 0)
            {
                PractitionerEN practitioner = practitionerCEN.ReadOID(p_oid);

                if (practitioner != null)
                {
                    practitioner.Active = p_active;
                    practitionerCAD.Modify(practitioner);
                }
            }

            /*PROTECTED REGION END*/
        }
Exemple #20
0
        public bool Logout(int p_oid)
        {
            /*PROTECTED REGION ID(ChroniGenNHibernate.CEN.Chroni_Practitioner_logout) ENABLED START*/

            // Write here your custom code...

            PractitionerCAD practitionerCAD = new PractitionerCAD();
            PractitionerCEN practitionerCEN = new PractitionerCEN(practitionerCAD);

            if (p_oid > 0)
            {
                PractitionerEN practitioner = practitionerCEN.ReadOID(p_oid);

                if (practitioner != null)
                {
                    return(true);
                }
            }

            return(false);
            /*PROTECTED REGION END*/
        }
Exemple #21
0
        public Practitioner ConvertENToModelUI(PractitionerEN en)
        {
            Practitioner loc = new Practitioner();

            loc.identifier = en.Identifier;
            loc.Name       = en.Name;
            loc.Phone      = en.Phone;
            loc.Email      = en.Email;

            if (en.Specialty != null)
            {
                loc.Especialidad = en.Specialty.Identifier;

                loc.DescripcionEsp = "Sin especialidad asignada";
            }
            else
            {
                loc.Especialidad   = 0;
                loc.DescripcionEsp = "Sin especialidad asignada";
            }

            return(loc);
        }
Exemple #22
0
        // GET: DashBoard/Practitioners/Edit/5
        public ActionResult Edit(int id)
        {
            ViewBag.menu = "Practitioners";
            PractitionerEN locationEN = null;
            Practitioner   loc        = null;

            try
            {
                SessionInitialize();

                PractitionerCAD cadPos = new PractitionerCAD();
                PractitionerCEN cen    = new PractitionerCEN(cadPos);

                SpecialtyCAD speCad = new SpecialtyCAD();
                SpecialtyCEN speCen = new SpecialtyCEN(speCad);
                SpecialtyEN  speEn  = new SpecialtyEN();

                locationEN = cen.ReadOID(id);
                loc        = new AssemblerPractitioner().ConvertENToModelUI(locationEN);

                speEn.Identifier = 0;
                speEn.Display    = Administracion.Resources.textos.errorKO;

                IList <SpecialtyEN> especialidadesBD = speCen.ReadAll(0, -1);
                especialidadesBD.Insert(0, speEn);

                var especialidades = especialidadesBD.OrderBy(p => p.Identifier);
                ViewBag.especialidades = new SelectList(especialidades, "identifier", "display", loc.Especialidad);

                SessionClose();
            }
            catch (Exception ex)
            {
                ViewBag.error = "Error" + ex.Message;
            }
            return(View(loc));
        }
Exemple #23
0
        public HttpResponseMessage ReadOID(int idPractitioner)
        {
            // CAD, CEN, EN, returnValue
            PractitionerRESTCAD practitionerRESTCAD = null;
            PractitionerCEN     practitionerCEN     = null;
            PractitionerEN      practitionerEN      = null;
            PractitionerDTOA    returnValue         = null;

            try
            {
                SessionInitializeWithoutTransaction();


                practitionerRESTCAD = new PractitionerRESTCAD(session);
                practitionerCEN     = new PractitionerCEN(practitionerRESTCAD);

                // Data
                practitionerEN = practitionerCEN.ReadOID(idPractitioner);

                // Convert return
                if (practitionerEN != null)
                {
                    returnValue = PractitionerAssembler.Convert(practitionerEN, session);
                }
            }

            catch (Exception e)
            {
                if (e.GetType() == typeof(HttpResponseException))
                {
                    throw e;
                }
                else if (e.GetType() == typeof(MoSIoTGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto"))
                {
                    throw new HttpResponseException(HttpStatusCode.Forbidden);
                }
                else if (e.GetType() == typeof(MoSIoTGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(MoSIoTGenNHibernate.Exceptions.DataLayerException))
                {
                    throw new HttpResponseException(HttpStatusCode.BadRequest);
                }
                else
                {
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }
            }
            finally
            {
                SessionClose();
            }

            // Return 404 - Not found
            if (returnValue == null)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NotFound));
            }
            // Return 200 - OK
            else
            {
                return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue));
            }
        }
Exemple #24
0
// Modify default (Update all attributes of the class)

        public void ModifyDefault(PractitionerEN practitioner)
        {
            try
            {
                SessionInitializeTransaction();
                PractitionerEN practitionerEN = (PractitionerEN)session.Load(typeof(PractitionerEN), practitioner.Identifier);

                practitionerEN.Nif = practitioner.Nif;


                practitionerEN.Active = practitioner.Active;


                practitionerEN.Role = practitioner.Role;


                practitionerEN.Name = practitioner.Name;


                practitionerEN.Surnames = practitioner.Surnames;


                practitionerEN.Gender = practitioner.Gender;


                practitionerEN.BirthDate = practitioner.BirthDate;


                practitionerEN.Address = practitioner.Address;


                practitionerEN.Email = practitioner.Email;


                practitionerEN.Phone = practitioner.Phone;


                practitionerEN.Photo = practitioner.Photo;


                practitionerEN.StartDate = practitioner.StartDate;


                practitionerEN.EndDate = practitioner.EndDate;



                practitionerEN.Password = practitioner.Password;



                session.Update(practitionerEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
Exemple #25
0
        public static PractitionerEN Convert(PractitionerDTO dto)
        {
            PractitionerEN newinstance = null;

            try
            {
                if (dto != null)
                {
                    newinstance = new PractitionerEN();



                    if (dto.UserPractitioner_oid != -1)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IUserCAD userCAD = new MoSIoTGenNHibernate.CAD.MosIoT.UserCAD();

                        newinstance.UserPractitioner = userCAD.ReadOIDDefault(dto.UserPractitioner_oid);
                    }
                    newinstance.Id   = dto.Id;
                    newinstance.Name = dto.Name;
                    if (dto.OriginAssociation_oid != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IAssociationCAD associationCAD = new MoSIoTGenNHibernate.CAD.MosIoT.AssociationCAD();

                        newinstance.OriginAssociation = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.AssociationEN>();
                        foreach (int entry in dto.OriginAssociation_oid)
                        {
                            newinstance.OriginAssociation.Add(associationCAD.ReadOIDDefault(entry));
                        }
                    }
                    if (dto.TargetAssociation_oid != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IAssociationCAD associationCAD = new MoSIoTGenNHibernate.CAD.MosIoT.AssociationCAD();

                        newinstance.TargetAssociation = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.AssociationEN>();
                        foreach (int entry in dto.TargetAssociation_oid)
                        {
                            newinstance.TargetAssociation.Add(associationCAD.ReadOIDDefault(entry));
                        }
                    }
                    if (dto.Scenario_oid != -1)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IIoTScenarioCAD ioTScenarioCAD = new MoSIoTGenNHibernate.CAD.MosIoT.IoTScenarioCAD();

                        newinstance.Scenario = ioTScenarioCAD.ReadOIDDefault(dto.Scenario_oid);
                    }
                    newinstance.Description = dto.Description;

                    if (dto.Operations != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IEntityOperationCAD entityOperationCAD = new MoSIoTGenNHibernate.CAD.MosIoT.EntityOperationCAD();

                        newinstance.Operations = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.EntityOperationEN>();
                        foreach (EntityOperationDTO entry in dto.Operations)
                        {
                            newinstance.Operations.Add(EntityOperationAssemblerDTO.Convert(entry));
                        }
                    }

                    if (dto.Attributes != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IEntityAttributesCAD entityAttributesCAD = new MoSIoTGenNHibernate.CAD.MosIoT.EntityAttributesCAD();

                        newinstance.Attributes = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.EntityAttributesEN>();
                        foreach (EntityAttributesDTO entry in dto.Attributes)
                        {
                            newinstance.Attributes.Add(EntityAttributesAssemblerDTO.Convert(entry));
                        }
                    }

                    if (dto.States != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IEntityStateCAD entityStateCAD = new MoSIoTGenNHibernate.CAD.MosIoT.EntityStateCAD();

                        newinstance.States = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.EntityStateEN>();
                        foreach (EntityStateDTO entry in dto.States)
                        {
                            newinstance.States.Add(EntityStateAssemblerDTO.Convert(entry));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(newinstance);
        }