Exemple #1
0
        public IActionResult Register(CompanyRegister companyRegister)
        {
            try
            {
                var company = new Company(
                    companyRegister.Company.Name,
                    companyRegister.Company.Number);
                var user = new User(
                    companyRegister.Administrator.FirstName,
                    companyRegister.Administrator.LastName,
                    UserCompanyRole.Admin,
                    companyRegister.Administrator.Email);


                using (var tx = _context.Database.BeginTransaction())
                {
                    _companyRepository.Save(company);
                    user.From(company.Id);
                    _userRepository.Save(user, companyRegister.Administrator.Password);

                    tx.Commit();
                }

                return(Ok(company.Id.Value));
            }
            catch (InvalidOperationException e)
            {
                return(BadRequest(e.Message));
            }
            catch (ArgumentException e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemple #2
0
        public ActionResult Register()
        {
            CompanyRegister model = new CompanyRegister {
                Company = new Company(), CreatedBy = new User()
            };

            if (User.Identity.IsAuthenticated)
            {
                var eligibleUsers = new List <int>
                {
                    (int)UserType.CompanyAdmin,
                    (int)UserType.SuperAdmin
                };
                if (eligibleUsers.Any(x => x.Equals(OperatingUser.UserTypeId)))
                {
                    return(RedirectToAction("Details", "Company", new { id = OperatingUser.CompanyId }));
                }
                return(RedirectToAction("Index", "Home", null));
            }
            var systemTimeZones = TimeZoneInfo.GetSystemTimeZones();

            model.CreatedBy.TimezonesList = (from t in systemTimeZones
                                             orderby t.Id
                                             select new SelectListItem
            {
                Value = t.Id,
                Text = t.Id
            }).ToList();
            model.CreatedBy.TimezonesList.Single(x => x.Value == "US Eastern Standard Time").Selected = true;
            ViewBag.Message = "Please enter your company information";
            return(View(model));
        }
Exemple #3
0
        public string ComposeRegisteredEmail(CompanyRegister companyRegister)
        {
            var appSettings = _appSettingService.GetByModules((int)ModuleType.Core);

            var templateName = appSettings
                               .First(x => x.Key.Equals(AppKey.CoreCompanyRegisteredEmailTemplate, StringComparison.OrdinalIgnoreCase))
                               .Value;
            var logoPath = appSettings
                           .First(x => x.Key.Equals(AppKey.CoreEmailTemplateLogoPath, StringComparison.OrdinalIgnoreCase))
                           .Value;
            var emailTemplatePath = Path.Combine(Util.AssemblyDirectory, "Templates", "Email", templateName);

            if (!File.Exists(emailTemplatePath))
            {
                Log.Error($"Template doesnt't exists at {emailTemplatePath}");
            }
            else
            {
                var emailContent = File.ReadAllText(emailTemplatePath);
                emailContent = emailContent.Replace("#Logo#", logoPath);
                emailContent = emailContent.Replace("#Comapny#", companyRegister.Company.Name);
                emailContent = emailContent.Replace("#RegisterCode#", companyRegister.Company.RegisterCode);
                emailContent = emailContent.Replace("#CreatedBy#", companyRegister.CreatedBy.DisplayName);
                emailContent = emailContent.Replace("#CreatedByEmail#", companyRegister.CreatedBy.Email);
                emailContent = emailContent.Replace("#RegisteredDate#", DateTime.Now.ToString(CultureInfo.InvariantCulture));
                return(emailContent);
            }
            return(string.Empty);
        }
Exemple #4
0
        public static CompanyRegisterViewModel Dto(this CompanyRegister o)
        {
            var viewMode = new CompanyRegisterViewModel();

            ModelCopier.CopyModel(o, viewMode);
            viewMode.CompanyRegisterId = o.CompanyRegisterId;
            if (o.CorpBaseInfoId != null)
            {
                viewMode.CorpBaseInfoId   = o.CorpBaseInfoId;
                viewMode.CorpBaseInfoName = o.CorpBaseInfoName;
            }
            else
            {
                viewMode.CorpBaseInfoId   = o.CorpBaseInfoId;
                viewMode.CorpBaseInfoName = o.CorpBaseInfoOther;
            }
            viewMode.SN                 = o.SN;
            viewMode.Creator            = o.Creator;
            viewMode.CreatorDisplayName = o.StartUser.DisplayName;
            viewMode.CreatedTime        = o.CreatedTime.ToString("yyyy-MM-dd");
            viewMode.ModifyName         = o.Creator;
            viewMode.ModifyDisplayName  = o.StartUser.DisplayName;
            viewMode.ModifyTime         = o.ModifyTime.ToString("yyyy-MM-dd");
            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();

            //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式
            timeConverter.DateTimeFormat       = "yyyy'-'MM'-'dd";
            viewMode.CompanyRegisterRecordJson = JsonConvert.SerializeObject(o.CompanyRegisterRecords, timeConverter);
            return(viewMode);
        }
Exemple #5
0
        public async Task <IActionResult> Post([FromBody] CompanyRegister model)
        {
            if (!ModelState.IsValid)
            {
                return(Ok(GetModelValidationResponse <object>()));
            }

            try
            {
                if (HttpContext.User.Identity.IsAuthenticated)
                {
                    model.Id = int.Parse(User.Identity.Name);
                }

                var result = await companyService.InsertOrUpdateAsync(model);

                return(Ok(GetResponse(result, model.Id > 0 ? System.Net.HttpStatusCode.OK : System.Net.HttpStatusCode.Created)));
            }
            catch (System.Exception ex)
            {
                log.Error(ex.Message, ex);

                return(Ok(GetExceptionResponse <object>(ex)));
            }
        }
        public bool registerRecruiter(CompanyRegister company)
        {
            using (SqlConnection conn = new SqlConnection(connString))
            {
                SqlCommand cmd = new SqlCommand(query, conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@companyname", company.company_name);
                cmd.Parameters.AddWithValue("@email", company.email);
                cmd.Parameters.AddWithValue("@firstname", company.first_name);
                cmd.Parameters.AddWithValue("@lastname", company.last_name);
                cmd.Parameters.AddWithValue("@password", company.password);

                conn.Open();
                int i = cmd.ExecuteNonQuery();
                conn.Close();

                if (i > 1)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Exemple #7
0
        public ActionResult RegisterCompany(CompanyRegister company)
        {
            NoBordersDB db        = new NoBordersDB();
            var         checkmail = db.Users.SingleOrDefault(x => x.email == company.email);

            //check if email is allready created
            if (checkmail == null)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        RecruiterRegisterDL recruiterDL = new RecruiterRegisterDL();
                        recruiterDL.registerRecruiter(company);
                        Session["Recruiter_email"] = company.email;
                        return(RedirectToAction("CandidatesList", "Candidates"));
                    }
                    return(View());
                }
                catch
                {
                    return(View());
                }
            }
            return(View());
        }
        public Company InsertNew(CompanyRegister company)
        {
            CompanyUtil util = new CompanyService();

            if (util.ObjectIsNull(company))
            {
                throw new BadRequestException("Empresa não pode estar vazia");
            }

            if (util.CNPJIsEmpty(company))
            {
                throw new BadRequestException("CNPJ não pode estar em branco");
            }

            if (!_cnpjValidate.ValidaCNPJ(company.CNPJ))
            {
                throw new BadRequestException($"CNPJ inválido: {company.CNPJ}");
            }

            if (util.CorporateSocialNameIsEmpty(company))
            {
                throw new BadRequestException("RAZÃO SOCIAL deve ser preenchida");
            }

            if (util.FantasyNameIsEmty(company))
            {
                throw new BadRequestException("Preencha NOME FANTASIA por favor!");
            }

            User user = _userRepository.GetUserManagerByCPF(company.CPF);

            if (user == null)
            {
                throw new BadRequestException("Não existe um administrador cadastrado com esse CPF");
            }

            UserCompany userCompany = new UserCompany();

            userCompany.UserId = user.Id;

            Company company1 = new Company();

            company1.CNPJ = company.CNPJ;
            company1.CorporateSocialName = company.CorporateSocialName;
            company1.FantasyName         = company.FantasyName;
            userCompany.CompanyId        = company1.Id;
            company1.UserCompanies.Add(userCompany);

            try
            {
                _repository.Create(company1);
                return(company1);
            }
            catch (Exception e)
            {
                throw new Exception($"Tipo da excessão: {e.GetType()}");
            }
        }
Exemple #9
0
        public JsonResult AddCompany(Company companyreg)
        {
            Console.WriteLine("In registerCompany");
            CompanyRegisterReply comoregrep = new CompanyRegisterReply();

            CompanyRegister.getInstance().Add(companyreg);
            comoregrep.CompanyName           = companyreg.CompanyName;
            comoregrep.PhoneCompany          = companyreg.PhoneCompany;
            comoregrep.IdCompany             = companyreg.IdCompany;
            comoregrep.CompanyRegisterStatus = "Successful";

            return(Json(comoregrep));
        }
        public CompanyPaginatedDTO GetCompanies(int page, int limit)
        {
            List <Company>      companies   = new List <Company>();
            CompanyPaginatedDTO companyPDTO = new CompanyPaginatedDTO();
            int total;

            try
            {
                _logger.LogInformation($"{DateTime.Now:hh:mm:ss} Getting companies");
                companies = _repository.GetCompanies(page, limit);
                total     = _repository.CountComp();
            }
            catch (Exception e)
            {
                _logger.LogInformation($"{DateTime.Now:hh:mm:ss} Error on getting companies");
                throw new Exception($"Error is: {e.GetType()}");
            }

            if (companies.Count() < 1)
            {
                throw new NotFoundException("Não existem empresas cadastradas");
            }

            List <CompanyRegister> companyRegisters = new List <CompanyRegister>();

            foreach (Company c in companies)
            {
                CompanyRegister company = new CompanyRegister();
                company.CNPJ = c.CNPJ;
                company.CorporateSocialName = c.CorporateSocialName;
                company.FantasyName         = c.FantasyName;
                company.Status = c.Status;


                List <UserCompany> usersCompanies = (List <UserCompany>)c.UserCompanies;
                foreach (UserCompany u in usersCompanies)
                {
                    u.User = _userRepository.GetUserById(u.UserId);
                }

                company.CPF = usersCompanies.First(x => x.User.UserRole == Enums.UserRole.MANAGER).User.CPF;

                companyRegisters.Add(company);
            }

            companyPDTO.companyRegisters = companyRegisters;
            companyPDTO.total            = total;

            return(companyPDTO);
        }
Exemple #11
0
        public async Task <IActionResult> AddAirCompany(CompanyRegister company)
        {
            Aircompany airCompanyPom = new Aircompany();

            airCompanyPom.Name         = company.RegistrationNameService;
            airCompanyPom.Address      = company.Address;
            airCompanyPom.Description  = company.Description;
            airCompanyPom.Destinations = null;
            airCompanyPom.Flights      = null;

            airCompanyPom.Administrator = await userManager.FindByNameAsync(company.Email);

            context.Aircompanies.Add(airCompanyPom);

            await context.SaveChangesAsync();

            return(Ok());
        }
        public async Task <IActionResult> AddCarCompany(CompanyRegister company)
        {
            CarCompany carCompany = new CarCompany()
            {
                Cars        = new List <Car>(),
                Name        = company.RegistrationNameService,
                Address     = company.Address,
                Description = company.Description
            };


            carCompany.Administrator = await userManager.FindByNameAsync(company.Email);

            context.Carcompanies.Add(carCompany);

            await context.SaveChangesAsync();

            return(Ok());
        }
        public override async Task <IEnumerable <Company> > GetByFilterAsync(BaseEntityFilter filter, ISorter <Company> sorter = null)
        {
            return(await databaseExecuterService.RunStoredProcedureAsync(GetByFilterProc, (reader) =>
            {
                var filteredList = new List <CompanyRegister>();

                do
                {
                    if (reader.HasRows)
                    {
                        var entity = new CompanyRegister();

                        entity.ParseData(reader);

                        filteredList.Add(entity);
                    }
                } while (reader.Reader.Read()); //we activate the read after as the first one is done in the base DB class
                return filteredList;
            }, GetEntityProperties(filter)));
        }
        public OperateResult AddRegister(CompanyRegister model)
        {
            using (DbContextRoot db = new DbContextRoot())
            {
                try
                {
                    var match = from m in db.companyRegisterList
                                where m.name.Equals(model.name) || m.code.Equals(model.code)
                                select m;
                    if (match.Count() > 0)
                    {
                        return(new OperateResult
                        {
                            content = "该公司已经存在",
                        });
                    }

                    db.companyRegisterList.Add(model);
                    Company c = new Company
                    {
                        name = model.name,
                        code = model.code
                    };
                    db.companyList.Add(c);

                    db.SaveChanges();

                    return(new OperateResult
                    {
                        status = OperateStatus.Success,
                    });
                }
                catch (Exception ex)
                {
                    return(new OperateResult
                    {
                        content = ex.Message,
                    });
                }
            }
        }
        public List <CompanyRegister> GetCompaniesById(List <int> ids)
        {
            if (ids.Count() < 1)
            {
                throw new BadRequestException("Nenhuma empresa cadastrada para este usuário");
            }

            List <Company> companies = new List <Company>();

            try
            {
                companies = _repository.GetCompaniesById(ids);
            }
            catch (Exception e)
            {
                throw new Exception("Algo deu errado: " + e.GetType());
            }


            if (companies.Count() < 1)
            {
                throw new NotFoundException("Nenhuma empresa cadastrada para este usuário");
            }

            List <CompanyRegister> companyRegisters = new List <CompanyRegister>();

            foreach (Company c in companies)
            {
                CompanyRegister companyRegister = new CompanyRegister();
                companyRegister.Id                  = c.Id;
                companyRegister.FantasyName         = c.FantasyName;
                companyRegister.CorporateSocialName = c.CorporateSocialName;
                companyRegister.CNPJ                = c.CNPJ;
                companyRegister.Status              = c.Status;

                companyRegisters.Add(companyRegister);
            }

            return(companyRegisters);
        }
        public OperateResult UpdateRegister(CompanyRegister model)
        {
            using (DbContextRoot db = new DbContextRoot())
            {
                try
                {
                    var elements = (from e in db.companyRegisterList
                                    where e.id != model.id && e.name == model.name
                                    select e
                                    ).ToList();
                    if (elements.Count() >= 1)
                    {
                        return(new OperateResult
                        {
                            content = "已经存在同名的部门",
                        });
                    }


                    db.Entry(model).State = EntityState.Modified;

                    db.SaveChanges();

                    return(new OperateResult
                    {
                        status = OperateStatus.Success,
                        content = "更新成功"
                    });
                }
                catch (Exception ex)
                {
                    return(new OperateResult
                    {
                        content = ex.Message,
                    });
                }
            }
        }
Exemple #17
0
 public List <Company> GetCompanys()
 {
     return(CompanyRegister.getInstance().getCompanys());
 }
Exemple #18
0
        public ActionResult Register(CompanyRegister companyRegister, HttpPostedFileBase logo)
        {
            if (_userService.Get(userName: companyRegister.CreatedBy.UserName).Any())
            {
                ModelState.AddModelError("",
                                         $"Username {companyRegister.CreatedBy.UserName} is already in use. Please try with a different username");
                return(View(companyRegister));
            }

            // need to handle the file size
            if (logo != null && logo.ContentLength > 0 && logo.ContentType.Contains("image"))
            {
                using (Stream inputStream = logo.InputStream)
                {
                    MemoryStream memoryStream = inputStream as MemoryStream;
                    if (memoryStream == null)
                    {
                        memoryStream = new MemoryStream();
                        inputStream.CopyTo(memoryStream);
                    }
                    companyRegister.Company.LogoUrl    = logo.FileName;
                    companyRegister.Company.LogoBinary = memoryStream.ToArray();
                }
            }
            companyRegister.CreatedBy.UserRegisteredIp     = UserSession.IpAddress;
            companyRegister.CreatedBy.RegisteredMacAddress = UserSession.MacAddress;
            companyRegister.CreatedBy.LastActivityIp       = UserSession.IpAddress;
            companyRegister.CreatedBy.LastActiveMacAddress = UserSession.MacAddress;
            companyRegister.CreatedBy.EmploymentTypeId     = (int)EmploymentType.FullTime;

            companyRegister.Company.Id = _companyService.Add(companyRegister.Company);

            if (companyRegister.Company.Id == (int)RegistrationStatus.DuplicateCompany)
            {
                ModelState.AddModelError("", $"Company {companyRegister.CreatedBy.UserName} is already registerted");
                return(View(companyRegister));
            }
            if (companyRegister.Company.Id < 1)
            {
                ViewBag.Message = "Sorry. Failed to Add your company";
                return(View(companyRegister));
            }

            companyRegister.CreatedBy.CompanyId = companyRegister.Company.Id;
            try
            {
                var result = UserManager.CreateAsync(companyRegister.CreatedBy, companyRegister.CreatedBy.Password)
                             .Result;
                if (result.Succeeded)
                {
                    //SignInManager.SignIn(companyRegister.CreatedBy, isPersistent: false, rememberBrowser: false);
                    _userService.AddAddress(companyRegister.CreatedBy.RegistrationAddress);
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error);
                    }
                    return(View(companyRegister));
                }
            }
            catch
            {
                // ignored
            }

            if (companyRegister.Company.Id > 0)
            {
                _companyService.SetCreatedBy(companyId: companyRegister.Company.Id,
                                             userId: companyRegister.CreatedBy.Id);
                ViewBag.Message = "Your company code <strong>" + companyRegister.Company.RegisterCode +
                                  "</strong>. Your employees need this code to sign up for their account.";
#pragma warning disable 4014
                SignInManager.SignInAsync(companyRegister.CreatedBy, isPersistent: false,
#pragma warning restore 4014
                                          rememberBrowser: false);

                string emailMessage = _companyService.ComposeRegisteredEmail(companyRegister);
                _emailService.SendEmail(emailMessage, "Successfully Registered", new[] { companyRegister.CreatedBy.Email });
                return(RedirectToAction("Index", "Home"));
            }
            return(View(companyRegister));
        }
Exemple #19
0
 public JsonResult getCompanysRecords()
 {
     return(Json(CompanyRegister.getInstance().getCompanys()));
 }
 public Company InsertNew([FromBody] CompanyRegister company)
 {
     return(_service.InsertNew(company));
 }