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); }
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); } }
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); }
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(); }
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 })); }