示例#1
0
        public IHttpActionResult ExperienceCreate(ExperienceEntity experience)
        {
            try
            {
                bool autorization = false;
                if (Request.Headers.Authorization != null)
                {
                    string Jwt = Request.Headers.Authorization.Parameter;
                    autorization = new BJwt().ConsultarJwt(Jwt);
                }

                if (!autorization)
                {
                    Resultado res = new Resultado()
                    {
                        Mensaje = "Token Invalido", Respuesta = 0
                    };
                    return(Ok(res));
                }
                Resultado resultado = new BExperience().ExperienceCreate(experience);
                if (resultado.Respuesta == 1)
                {
                    return(Ok(resultado));
                }
                else
                {
                    return(BadRequest(resultado.Mensaje));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
示例#2
0
        public void GetExperienceDetailsForEmployer_Works()
        {
            var employer = Guid.NewGuid().ToString();

            var experienceEntity = new ExperienceEntity
            {
                Employer = employer,
                Details  = new List <string> {
                    "1", "2", "3", "4", "5"
                }
            };

            var mock = new Mock <IExperienceXMLService>();

            mock.Setup(T => T.GetAll()).Returns(new List <IExperienceEntity> {
                experienceEntity
            });

            var repos = new ExperienceRepository(mock.Object, new VitaeNinjectKernel());

            var list = repos.GetExperienceDetailsForEmployer(employer);

            Assert.IsNotNull(list);
            Assert.AreEqual(5, list.Count);
            Assert.AreEqual(employer, list[2].Employer);
            Assert.AreEqual("3", list[2].ExperienceDetail);
        }
示例#3
0
        private static string ValidateJson(ExperienceEntity experience)
        {
            string result = "";

            if (experience.CategoryId <= 0 || experience.CountryId <= 0 || experience.Address == "" || experience.UserId <= 0)
            {
                result = "Valide que los datos obligatorios esten diligenciados.";
            }
            return(result);
        }
示例#4
0
        public void ExperienceRepository_Update_Works()
        {
            var guid = Guid.NewGuid();
            ExperienceEntity entity = new ExperienceEntity();
            var mockXml             = new Mock <IExperienceXMLService>();
            var repos = new ExperienceRepository(mockXml.Object, new VitaeNinjectKernel());

            repos.Update(guid, entity);

            Assert.IsTrue(true);
        }
示例#5
0
        public void ExperienceRepository_Add_Works()
        {
            var entity     = new ExperienceEntity();
            var guid       = Guid.NewGuid();
            var mockXml    = new Mock <IExperienceXMLService>();
            var mockKernel = new Mock <IKernel>();

            mockXml.Setup(T => T.Insert(entity)).Returns(guid);
            var repos = new ExperienceRepository(mockXml.Object, new VitaeNinjectKernel());

            Guid newGuid = repos.Add(entity);

            Assert.IsNotNull(newGuid);
            Assert.AreEqual(guid, newGuid);
        }
示例#6
0
        public void ExperienceRepository_Get_Works()
        {
            var original = new ExperienceEntity();

            original.Employer = "test";
            var guid       = Guid.NewGuid();
            var mockXml    = new Mock <IExperienceXMLService>();
            var mockKernel = new Mock <IKernel>();

            mockXml.Setup(T => T.Get(guid)).Returns(original);
            var repos = new ExperienceRepository(mockXml.Object, new VitaeNinjectKernel());

            var itemReturned = repos.Get(guid);

            Assert.IsNotNull(itemReturned);
            Assert.AreEqual(original.Employer, itemReturned.Employer);
        }
        public experiencia ExperienceCreate(ExperienceEntity experience)
        {
            experiencia result = new experiencia();

            using (var txscope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                try
                {
                    int IdExperience = 0;
                    using (WantgoProdEntities ctx = new WantgoProdEntities())
                    {
                        experiencia newExperience = new experiencia
                        {
                            id_Categoria = experience.CategoryId,
                            id_Pais      = experience.CountryId,
                            direccion    = experience.Address,
                            descripcion  = experience.Description
                        };
                        ctx.experiencia.Add(newExperience);
                        ctx.SaveChanges();
                        IdExperience = newExperience.id_Experiencia;
                        if (IdExperience > 0)
                        {
                            usuario_experiencia newUserExperiece = new usuario_experiencia
                            {
                                id_Experiencia = IdExperience,
                                id_usuario     = experience.UserId
                            };
                            ctx.usuario_experiencia.Add(newUserExperiece);
                            ctx.SaveChanges();
                        }
                        result = newExperience;
                    }
                    txscope.Complete();
                }
                catch (Exception ex)
                {
                    txscope.Dispose();
                    throw ex;
                }
            }
            return(result);
        }
示例#8
0
        public void ExperienceRepository_GetAll_Works()
        {
            var originalList = new List <IExperienceEntity>();

            for (int i = 0; i < 42; i++)
            {
                var item = new ExperienceEntity();
                item.Employer = "test";
                originalList.Add(item);
            }
            var mockXml    = new Mock <IExperienceXMLService>();
            var mockKernel = new Mock <IKernel>();

            mockXml.Setup(T => T.GetAll()).Returns(originalList);
            var repos = new ExperienceRepository(mockXml.Object, new VitaeNinjectKernel());

            var list = repos.GetAll();

            Assert.IsNotNull(list);
            Assert.AreEqual(42, list.Count);
            Assert.IsTrue(list.All(T => T.Employer == "test"));
        }
示例#9
0
        public void ExperienceXMLService_Update_Works()
        {
            var id = xs.Insert(new ExperienceEntity
            {
                Employer  = "someEmp",
                StartDate = "Monday",
                EndDate   = "Tuesday",
                Titles    = new List <string> {
                    "t0", "t1", "t2"
                },
                Details = new List <string> {
                    "d0", "d1", "d2"
                }
            });

            var newEnt = new ExperienceEntity
            {
                Employer  = "updEmp",
                StartDate = "Wednesday",
                EndDate   = "Thursday",
                Titles    = new List <string> {
                    "t3", "t4", "t5"
                },
                Details = new List <string> {
                    "d3", "d4", "d5"
                }
            };

            xs.Update(id, newEnt);

            var final = xs.Get(id);

            Assert.AreEqual("updEmp", final.Employer);
            Assert.AreEqual("Wednesday", final.StartDate);
            Assert.AreEqual("Thursday", final.EndDate);
            Assert.AreEqual("t4", final.Titles[1]);
            Assert.AreEqual("d5", final.Details[2]);
        }
示例#10
0
        public async Task <ExperienceEntity> Create(ExperienceModel model)
        {
            var experience = new ExperienceEntity
            {
                Id                 = Guid.NewGuid(),
                Name               = model.Name,
                Description        = model.Description,
                Price              = model.Price,
                PriceOnSpecial     = model.PriceOnSpecial,
                OnSpecialStartDate = model.OnSpecialStartDate,
                OnSpecialEndDate   = model.OnSpecialEndDate,
                CreateDate         = DateTime.UtcNow.ToLocalTime(),
                CreateUserId       = _securityContext.UserEntity.Id.ToString(),
                ModifyDate         = DateTime.UtcNow.ToLocalTime(),
                ModifyUserId       = _securityContext.UserEntity.Id.ToString(),
                IsDeleted          = false,
                StatusId           = 1
            };

            _uniOfWork.Add(experience);
            await _uniOfWork.CommitAsync();

            return(experience);
        }
        protected void newExperience_Click(object sender, EventArgs e)
        {
            if (Session["EmployeeId"] != null)
            {
                ExperienceEntity entity = new ExperienceEntity();
                DateTime         dt;
                if (DateTime.TryParseExact(ExperienceDateFromTextBox.Text, ConfigurationManager.AppSettings["DateFormat"], null, System.Globalization.DateTimeStyles.None, out dt))
                {
                    entity.DateFrom = dt;
                }

                if (DateTime.TryParseExact(ExperienceDateToTextBox.Text, ConfigurationManager.AppSettings["DateFormat"], null, System.Globalization.DateTimeStyles.None, out dt))
                {
                    entity.DateTo = dt;
                }
                else
                {
                    entity.DateTo = null;
                }
                entity.PositionHeld    = PositionHeldTextBox.Text;
                entity.EmployeeName    = EmployeeNameTextBox.Text;
                entity.EmployeeContact = EmployeeContactTextBox.Text;
                entity.BusinessType    = BusinessTypeTextBox.Text;

                entity.EmployeeId = Convert.ToInt32(Request.QueryString["EmployeeId"]);

                ExperienceMapper mapper = new ExperienceMapper();
                mapper.Insert(entity);

                Response.Redirect("EducationAndExperience.aspx?EmployeeId=" + Convert.ToInt32(Session["EmployeeId"]));
            }
            else
            {
                Response.Redirect("List.aspx");
            }
        }
示例#12
0
 public Resultado ExperienceCreate(ExperienceEntity experience)
 {
     try
     {
         var foto = Base64ToImage(experience.ExperiencePhoto);
         if (foto != null)
         {
             string datosObligatorios = ValidateJson(experience);
             if (datosObligatorios == "")
             {
                 var usuarioValido = new DUsuario().ConsultarUsuarioId(experience.UserId);
                 if (usuarioValido == 0)
                 {
                     return(new Resultado()
                     {
                         Respuesta = 0, Mensaje = "Id de usuario no existe", Valores = null
                     });
                 }
                 experiencia experienciaCreada = new DExperience().ExperienceCreate(experience);
                 if (experienciaCreada != null)
                 {
                     try
                     {
                         string ruta = CrearCarpeta(experienciaCreada.id_Experiencia, experience.UserId);
                         if (ruta != "")
                         {
                             var  imageName    = "experienceImage" + experienciaCreada.id_Experiencia + experience.UserId + ".jpg";
                             bool fotoGuardada = GuardarFoto(ruta, imageName, experience.ExperiencePhoto);
                             if (fotoGuardada)
                             {
                                 string updateruta     = @"Resources/Experiences/" + experienciaCreada.id_Experiencia + "-" + experience.UserId + @"/" + imageName;
                                 var    actualizarRuta = new DExperience().ExperienceUpdatePath(updateruta, experienciaCreada.id_Experiencia);
                                 return(new Resultado()
                                 {
                                     Respuesta = 1, Mensaje = "Experiencia guardada", Valores = null
                                 });
                             }
                         }
                     }
                     catch (Exception ex)
                     {
                         return(new Resultado()
                         {
                             Respuesta = 0, Mensaje = "Error " + ex, Valores = null
                         });
                     }
                 }
                 else
                 {
                     return(new Resultado()
                     {
                         Respuesta = 0, Mensaje = "Error al guardar experiencia", Valores = null
                     });
                 }
             }
             else
             {
                 return(new Resultado()
                 {
                     Respuesta = 0, Mensaje = datosObligatorios, Valores = null
                 });
             }
         }
         return(new Resultado()
         {
             Respuesta = 0, Mensaje = "Formato de la foto que intenta cargar no es válido, debe estar en base 64", Valores = null
         });
     }
     catch (Exception ex)
     {
         return(new Resultado()
         {
             Respuesta = 0, Mensaje = "Error al guardar experiencia", Valores = ex
         });
     }
 }