Esempio n. 1
0
        public int?ChangeStatusPhases(List <OfferPhases> ofertas)
        {
            int?rta = null;
            OfferUserRepository <OfferUser> OfferUrepo = new OfferUserRepository <OfferUser>();
            //if (status == StatusPhase.Aplicada)
            //if (!OfferUrepo.HaveOfferUsers(offerPhases.FirstOrDefault().IdOffer) && status==StatusPhase.Aplicada )
            //{
            OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>();
            int  i        = 0;
            bool finaliza = false;

            foreach (var offerphase in ofertas)
            {
                int countnofini = ofertas.Count(e => e.StatusPhase != StatusPhase.Finalizada);
                if (finaliza && countnofini > 0)
                {
                    offerphase.StatusPhase = StatusPhase.EnCurso;
                }
                rta = OfferPrepo.Update(offerphase);


                if (rta == null)
                {
                    break;
                }
                if (offerphase.StatusPhase == StatusPhase.Finalizada)
                {
                    i       += 1;
                    finaliza = true;
                }
            }


            if (i == ofertas.Count & finaliza)
            {
                SProject spro  = new SProject();
                var      lista = spro.GetList(new { IdOffer = ofertas.FirstOrDefault().IdOffer });
                if (lista.Count > 0)
                {
                    var project = lista.FirstOrDefault();
                    project.Status = StatusProject.Finalizada;
                    spro.Update(project);
                    Business.Log4NetLogger logger2 = new Business.Log4NetLogger();

                    logger2.Info("Proyecto finalizado:" + project.IdOffer + "," + "Categoria:" + project.Category);
                }

                //var project= spro.GetList(new {IdOffer= ofertas.FirstOrDefault().IdOffer }).FirstOrDefault();
            }
            //}
            return(rta);
        }
Esempio n. 2
0
        public bool DeleteUser(Guid guid)
        {
            Business.Log4NetLogger logger2 = new Business.Log4NetLogger();

            UserRepository userrepo = new UserRepository();

            try
            {
                var rta = userrepo.DeleteAccount(guid);
                logger2.Info("Cuenta eliminada:" + guid);

                return(true);
            }
            catch (Exception er)
            {
                var mes = er.Message;


                logger2.Error(er);
                return(false);
            }
        }
Esempio n. 3
0
        public int?ChangeStatusPhases(ICollection <OfferPhases> offerPhases, Persistence.Entities.StatusPhase status, Persistence.Entities.Offer offer)
        {
            int?rta = null;
            OfferUserRepository <OfferUser> OfferUrepo = new OfferUserRepository <OfferUser>();
            OfferRepository <Offer>         Offerrepo  = new OfferRepository <Offer>();
            //if (status == StatusPhase.Aplicada)
            //if (!OfferUrepo.HaveOfferUsers(offerPhases.FirstOrDefault().IdOffer) && status==StatusPhase.Aplicada )
            //{
            OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>();

            offer.Status = Offer.StatusOffer.Eliminada;
            Offerrepo.Update(offer);
            foreach (var offerphase in offerPhases)
            {
                offerphase.StatusPhase = status;
                rta = OfferPrepo.Update(offerphase);
                if (status == StatusPhase.Finalizada)
                {
                    Business.Log4NetLogger logger2 = new Business.Log4NetLogger();

                    logger2.Info("Proyecto finalizado:" + offerphase.IdOffer);
                }
                else if (status == StatusPhase.Eliminada)
                {
                    Business.Log4NetLogger logger2 = new Business.Log4NetLogger();

                    logger2.Info("Proyecto eliminado:" + offerphase.IdOffer);
                }
                if (rta == null)
                {
                    break;
                }
            }
            //}
            return(rta);
        }
Esempio n. 4
0
        public async Task <IHttpActionResult> InsertSkills(List <RegisterBindingModel> userl)
        {
            //if (!ModelState.IsValid)
            //{
            //string messages = string.Join("; ", ModelState.Values
            //                        .SelectMany(x => x.Errors)
            //                        .Select(x => x.ErrorMessage));


            //return Json(new { success = false, issue = "", errors = messages });


            //}
            ZonaFl.Business.SubSystems.SUser     usern  = new Business.SubSystems.SUser();
            ZonaFl.Business.SubSystems.SCategory usersk = new Business.SubSystems.SCategory();
            ZonaFl.Business.SubSystems.SSkill    sskill = new Business.SubSystems.SSkill();
            RegisterBindingModel user = userl[0];

            if (user.Empresa == null)
            {
                user.Empresa = false;
            }

            if (user.Freelance == null)
            {
                user.Freelance = false;
            }

            RegisterBindingModel rmb = new RegisterBindingModel();

            rmb.Skills  = user.Skills;
            rmb.Company = user.Company;
            Persistence.Entities.Company company = new Persistence.Entities.Company();
            if (user.Company != null)
            {
                company.InjectFrom(user.Company.FirstOrDefault());
            }
            List <Persistence.Entities.Skill> skills = rmb.Skills.Select(e => new Persistence.Entities.Skill().InjectFrom(e)).Cast <Persistence.Entities.Skill>().ToList();
            AspNetUsers aspuser = new AspNetUsers();

            var useru = UserManager.FindByEmail(user.Email);


            for (int i = 0; i < skills.Count(); i++)
            {
                ZonaFl.Persistence.Entities.Category category = null;
                var      skill            = sskill.FindSkillByName(user.Skills[i].Name);
                string[] stringSeparators = new string[] { "\n" };
                string   result           = user.Skills[i].CategorySkill.Split(stringSeparators, StringSplitOptions.None)[0];

                category = usersk.FindCategoryByName(result);

                if (category == null)
                {
                    try
                    {
                        category = usersk.InsertCategory(result);
                    }
                    catch (Exception er)
                    {
                        return(Json(new { success = false, issue = user, errors = er.Message, tipo = user, UserEmail = useru.Email }));
                    }
                }

                skills[i].IdHtml     = user.Skills[i].IdHtml;
                skills[i].Category   = category;
                skills[i].CategoryId = category.Id;
            }

            useru.City            = user.City;
            useru.Country         = user.Country;
            useru.UserName        = user.UserName;
            useru.DescUser        = user.DescUser;
            useru.PhoneNumber     = user.PhoneNumber.ToString();
            useru.FirstMiddleName = user.FirstMiddleName;
            useru.Image           = user.Image;
            useru.Empresa         = user.Empresa;

            aspuser.InjectFrom(useru);
            aspuser.NoTrabajadores = user.NumeroEmp;

            try
            {
                Business.Log4NetLogger logger2 = new Business.Log4NetLogger();
                if (!useru.Empresa)
                {
                    if (skills.Count > 0)
                    {
                        skills = usern.InsertSkillsByUser(skills, aspuser);
                        logger2.Info("Inserción Usuario Categoria:" + useru.Id + "," + "UsuarioCategoria:" + skills.FirstOrDefault().CategoryId + ",Email:" + aspuser.Email);
                    }
                }
            }
            catch (Exception er)
            {
                return(Json(new { success = false, issue = user, errors = er.Message, tipo = aspuser, UserEmail = useru.Email }));
            }

            try
            {
                SUser suser = new SUser();
                aspuser.Empresa   = useru.Empresa;
                aspuser.Freelance = useru.Freelance;
                IdentityResult result = await UserManager.UpdateAsync(useru);

                var userupdate = suser.UpdateUser(aspuser);
                if (useru.Empresa)
                {
                    company.IdUser      = useru.Id;
                    company.Name        = userl[0].Company.Last().Name;
                    company.Mail        = userl[0].Company.Last().Mail;
                    company.Site        = user.UrlEmpresa;
                    company.Sector      = userl[0].Company.Last().Sector;
                    company.RazonSocial = userl[0].Company.Last().RazonSocial;
                    company.Telefono    = userl[0].Company.Last().Telefono;
                    company.Nit         = userl[0].Company.Last().Nit;
                    company.NumeroEmp   = aspuser.NoTrabajadores == null ? 0 : (int)aspuser.NoTrabajadores;
                    company.Description = userl[0].Company.Last().Description;

                    Persistence.Entities.Company companyp = usern.InsertCompany(company);
                }

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
            }
            catch (Exception er)
            {
                return(Json(new { success = false, issue = user, errors = er.Message, tipo = user, UserEmail = useru.Email }));
                //return InternalServerError(er);
            }
            aspuser.Empresa   = useru.Empresa;
            aspuser.Freelance = useru.Freelance;
            aspuser.Id        = useru.Id;
            return(Json(new { success = true, issue = user, errors = "", tipo = aspuser, UserEmail = useru.Email }));
            //return Ok();
        }
Esempio n. 5
0
        public async Task <IHttpActionResult> Register(RegisterBindingModel model)
        {
            string url = "/Static/Register.html?UserEmail=" + model.Email + "&freelance=" + model.Freelance;

            if (model.PasswordHash == "")
            {
                RegisterExternalBindingModel rebm = new RegisterExternalBindingModel();
                rebm.Email           = model.Email;
                rebm.UserName        = model.UserName;
                rebm.Empresa         = model.Empresa;
                rebm.Freelance       = model.Freelance;
                rebm.EmailConfirmed  = true;
                rebm.FirstMiddleName = model.FirstMiddleName;
                await this.RegisterExternal(rebm);
            }
            else
            {
                if (!ModelState.IsValid)
                {
                    string messages = string.Join("; ", ModelState.Values
                                                  .SelectMany(x => x.Errors)
                                                  .Select(x => x.ErrorMessage));


                    return(Json(new { success = false, issue = model, errors = messages }));
                }



                var user = new ApplicationUser()
                {
                    UserName = model.UserName, Email = model.Email, Empresa = model.Empresa, Freelance = model.Freelance, FirstMiddleName = model.FirstMiddleName, DateCreate = DateTime.Now
                };
                //if(!user.Freelance)
                //    url= "Register.html?UserEmail=" + model.Email;
                try
                {
                    IdentityResult result = await UserManager.CreateAsync(user, model.PasswordHash);

                    if (!result.Succeeded)
                    {
                        IHttpActionResult resultF = GetErrorResult(result);
                        return(Json(new { success = false, issue = user, errors = "Favor verificar el usuario o el correo de usuario", tipo = user, UserEmail = "" }));
                    }
                    else
                    {
                        Business.Log4NetLogger logger2 = new Business.Log4NetLogger();

                        logger2.Info("Registro Usuario:" + user.Id + "," + "FechaCreación:" + user.DateCreate + ",Email:" + user.Email);


                        // EmailService email = new EmailService();
                        IdentityMessage im   = new IdentityMessage();
                        string          code = await this.AppUserManager.GenerateEmailConfirmationTokenAsync(user.Id);

                        var callbackUrl = new Uri(Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code }));

                        //im.Body = "Por favor confirme su cuenta haciendo Click <a href =\"" + callbackUrl + "\">Aquí</a>";
                        //im.Body = string.Format("Dear {0}<BR/>Thank you for your registration, please click on the below link to comlete your registration: <a href=\"{1}\" title=\"User Email Confirm\">{1}</a>", user.UserName, new Uri(Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code })));
                        string body = "Hola " + user.UserName + ",";
                        body   += "<br /><br />Porfavor haga click en el siguiente link para activar su cuenta";
                        body   += "<br /><a href = '" + callbackUrl + "'>Click aqui para activar esta cuenta.</a>";
                        body   += "<br /><br />Gracias";
                        im.Body = body;

                        var         smail = SMail.Instance;
                        MailMessage mail  = new MailMessage("*****@*****.**", user.Email, "Activación Cuenta", im.Body);
                        mail.IsBodyHtml = true;
                        smail.Send(mail);
                    }
                }
                catch (Exception er)
                {
                    ExceptionResult ere = InternalServerError(er);
                    return(Json(new { success = false, issue = user, errors = ere.Exception.Message, tipo = user, UserEmail = "", Url = url }));
                }
            }



            return(Json(new { success = true, issue = model, errors = "", tipo = model, UserEmail = model.Email, Url = url }));
        }