public async Task <ActionResult <dynamic> > FirstIntall([FromBody] ConfigurationDTO configuration)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    throw new Exception(ModelState.GenerateValidation());
                }

                UserDTO userDTO = new UserDTO("ADMIN", "ADMINISTRADOR", "SISTEMA", "ADMIN", configuration.Email);
                var     user    = await _userService.CreateUser(userDTO);

                return(new OkObjectResult(new
                {
                    Mensagem = "Configurações iniciais parâmetrizadas!",
                    Usuario = user
                }));
            }
            catch (Exception ex)
            {
                string message = ex.Message;

                if (message.Equals("Este username já existe!"))
                {
                    message = "As configurações iniciais, já foram realizadas!";
                }

                return(BadRequest(message));
            }
        }
예제 #2
0
        public ConfigurationDTO checkIfExist(int idCompany)
        {
            using (var sqlConnection = new SqlConnection(conexion))
            {
                ConfigurationDTO configurationDTO = new ConfigurationDTO();

                try
                {
                    var queryVerify = "SELECT  * from tblConIntegration where idCompany=" + idCompany;
                    ConfigurationIntegration conf = sqlConnection.Query <ConfigurationIntegration>(queryVerify, commandType: System.Data.CommandType.Text).First();
                    if (conf == null)
                    {
                        configurationDTO.response = new Response {
                            Done = false, Message = "Error", Value = 0
                        };
                        return(configurationDTO);
                    }
                    else
                    {
                        configurationDTO.response = new Response {
                            Done = true, Message = "Existe", Value = 1
                        };
                        configurationDTO.configuration = conf;
                        return(configurationDTO);
                    }
                }
                catch (Exception e)
                {
                    configurationDTO.response = new Response {
                        Done = false, Message = e.Message, Value = 0
                    };
                    return(configurationDTO);
                }
            }
        }
        public object GetAddEdit()
        {
            //base.SetMenuIndex(AdminMenuIndex.SettingIndex);
            ConfigurationDTO settingDTO = new ConfigurationDTO();

            settingDTO.LoadData();
            return(settingDTO);
        }
예제 #4
0
        // GET: Quotation/Create
        public ActionResult Create(ConfigurationDTO configurationModel)
        {
            var quotationDTO = MapperDTO.MapToQuotationDTO(configurationModel);

            quotationDTO.FechaCotizacion = DateTime.Today;
            quotationDTO.Activa          = true;
            return(View(quotationDTO));
        }
        public ActionResult <IEnumerable <string> > CreateConfiguration([FromBody] ConfigurationDTO configuration)
        {
            string message = ConfigurationDAO.CreateConfiguration(configuration);

            if (message == null)
            {
                return(new JsonResult(rm.Success(message)));
            }
            return(new JsonResult(rm.Error(message)));
        }
예제 #6
0
        public ActionResult <IEnumerable <string> > GenTest([FromBody] ConfigurationDTO configuration)
        {
            string message = SystemDAO.GenerateTest(context, configuration);

            if (message != null)
            {
                return(new JsonResult(rm.Error(message)));
            }
            return(new JsonResult(rm.Success("Created succeed")));
        }
예제 #7
0
        public static QuotationDTO MapToQuotationDTO(ConfigurationDTO configurationDTO)
        {
            var result = new QuotationDTO()
            {
                Cliente    = configurationDTO.Cliente,
                TipoSeguro = configurationDTO.TipoSeguro
            };

            return(result);
        }
예제 #8
0
        public static string UpdateConfiguration(ConfigurationDTO configurationDTO)
        {
            using (DeverateContext db = new DeverateContext())
            {
                var result = from a in db.Account
                             where a.AccountId == configurationDTO.TestOwnerId
                             select a.CompanyId;
                int?companyId = result.First();
                var emps      = from a in db.Account
                                where a.CompanyId == companyId && a.IsActive == true && a.RoleId == 3
                                select new AccountDTO(a);
                if (emps.ToList().Count == 0)
                {
                    return("No available employee");
                }

                Configuration configuration = db.Configuration.SingleOrDefault(con => con.ConfigId == configurationDTO.ConfigId);
                configuration.ConfigId      = configurationDTO.ConfigId;
                configuration.TestOwnerId   = configurationDTO.TestOwnerId;
                configuration.TotalQuestion = configurationDTO.TotalQuestion;
                configuration.CreateDate    = DateTime.Now;
                configuration.StartDate     = configurationDTO.StartDate;
                configuration.EndDate       = configurationDTO.EndDate;
                configuration.Duration      = configurationDTO.Duration;
                configuration.IsActive      = true;
                db.Configuration.Update(configuration);
                db.SaveChanges();

                foreach (var item in configurationDTO.catalogueInConfigurations)
                {
                    CatalogueInConfiguration catalogueInConfiguration = db.CatalogueInConfiguration.SingleOrDefault(con => con.ConfigId == item.ConfigId);
                    catalogueInConfiguration.ConfigId    = configuration.ConfigId;
                    catalogueInConfiguration.CatalogueId = item.CatalogueId;
                    catalogueInConfiguration.WeightPoint = item.WeightPoint;
                    catalogueInConfiguration.IsActive    = item.IsActive;
                    db.CatalogueInConfiguration.Add(catalogueInConfiguration);
                    db.SaveChanges();
                }

                foreach (var item in configurationDTO.ConfigurationRank)
                {
                    ConfigurationRank configurationRank = new ConfigurationRank();
                    configurationRank.ConfigId    = configuration.ConfigId;
                    configurationRank.RankId      = item.RankId;
                    configurationRank.WeightPoint = item.WeightPoint;
                    configurationRank.IsActive    = item.IsActive;
                    db.ConfigurationRank.Add(configurationRank);
                    db.SaveChanges();
                }

                return(null);
            }
        }
예제 #9
0
        // GET: Quotation/Configuration
        public ActionResult Configuration(string client, string typeSecurity)
        {
            var configurationDTO = new ConfigurationDTO {
                FechaVencimiento = DateTime.Today.AddYears(1)
            };

            if (!String.IsNullOrEmpty(client))
            {
                configurationDTO.Cliente    = client;
                configurationDTO.TipoSeguro = typeSecurity;
            }

            return(View(configurationDTO));
        }
예제 #10
0
        internal int Put(ConfigurationDTO configuration)
        {
            Entities.Configuration upd = context.Configurations.First(x => x.Id == configuration.Id.Value);
            int row = 0;

            if (upd != null)
            {
                upd.TimeConfig = (TimeConfig)configuration.TimeConfig;
                upd.Value      = configuration.Value;

                row = context.SaveChanges();
            }

            return(row);
        }
예제 #11
0
        public ActionResult Configuration(ConfigurationDTO configuration)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View());
                }

                return(RedirectToAction("Create", new { Cliente = configuration.Cliente, TipoSeguro = configuration.TipoSeguro }));
            }
            catch (Exception exception)
            {
                ModelState.AddModelError("", "Error when add quotation" + exception.Message);
                return(View());
            }
        }
예제 #12
0
        public static string GenerateTest(DeverateContext db, ConfigurationDTO config)
        {
            Configuration con = db.Configuration.SingleOrDefault(o => o.ConfigId == config.configId);

            try
            {
                if (con.Duration < 5)
                {
                    return("Test duration at least 5 minutes");
                }
                List <CatalogueDTO> catas = GetCatalogueWeights(db, config.configId);
                if (catas.Count == 0)
                {
                    return("Can't generate test because there's no catalogue chose");
                }
                if (con.TotalQuestion < catas.Count)
                {
                    return("Number of questions equal or greater than number of catalogue");
                }
                Account acc       = db.Account.SingleOrDefault(o => o.AccountId == con.TestOwnerId);
                int?    companyId = acc.CompanyId;


                var emps = from a in db.Account
                           where a.CompanyId == companyId && a.RoleId == 3 && a.IsActive == true
                           select new AccountDTO(a);
                List <AccountDTO> accounts = emps.ToList();
                if (accounts.Count == 0)
                {
                    return("There'is no available employee");
                }
                for (int i = 0; i < accounts.Count; i++)
                {
                    GenerateQuestion(db, accounts[i].AccountId, config);
                }
            }
            catch (Exception e)
            {
                File.WriteAllText("log.txt", e.Message);
            }

            return(null);
        }
예제 #13
0
        public ActionResult Update(ConfigurationDTO dto)
        {
            //todo Гибкое настраивание временных интервалов (Дни, часы, минуты...)
            var config = TechServiceSingleton.Instance.Config;

            if (dto.Td != 0)
            {
                config.Td = TimeSpan.FromSeconds(dto.Td);
            }

            if (dto.Tm != 0)
            {
                config.Tm = TimeSpan.FromSeconds(dto.Tm);
            }

            config.TimeRange = new TimeRange(TimeSpan.FromSeconds(dto.RangeMin), TimeSpan.FromSeconds(dto.RangeMax));

            return(new HttpStatusCodeResult(200));
        }
예제 #14
0
        public ResultAction Put(ConfigurationDTO configuration)
        {
            ResultAction result = new ResultAction();

            using (var scope = new TransactionScope())
            {
                if (configuration.Id != null)
                {
                    result.IsOk   = true;
                    result.Result = new ConfigurationService().Put(configuration);;
                }
                else
                {
                    result.Message = "Erro ao atualizar a configuração não encontrada.";
                }

                scope.Complete();
                scope.Dispose();
            }

            return(result);
        }
예제 #15
0
        internal DateTime GetExpirationDate(DateTime creationDate)
        {
            DateTime     expirationDate = new DateTime();
            ResultAction result         = new ConfigurationBusiness().Get();

            if (result != null)
            {
                if (result.IsOk)
                {
                    ConfigurationDTO config = (ConfigurationDTO)result.Result;
                    if ((TimeConfig)config.TimeConfig == TimeConfig.Day)
                    {
                        expirationDate = creationDate.AddDays(config.Value);
                    }
                    else
                    {
                        expirationDate = creationDate.AddHours(config.Value);
                    }
                }
            }

            return(expirationDate);
        }
        public ActionResult <IEnumerable <string> > GetConfigurationById(int id)
        {
            ConfigurationDTO com = ConfigurationDAO.GetConfigurationById(id);

            return(new JsonResult(rm.Success(com)));
        }
 public ResultAction Put([FromBody] ConfigurationDTO configuration)
 {
     return(new ConfigurationBusiness().Put(configuration));
 }
        public object PostAddEdit(ConfigurationDTO settingDTO)
        {
            ResultOperation resultOperation = new ResultOperation();

            using (ConfigurationService configurationService = new ConfigurationService())
            {
                List <sysBpmsConfiguration> listValues = configurationService.GetList("", "");

                //DefaultReportFontFamily
                sysBpmsConfiguration config = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.DefaultReportFontFamily.ToString());
                config          = this.FillObject(config, settingDTO.DefaultReportFontFamily);
                resultOperation = configurationService.Update(config);

                //ProcessFormatSerlialNumber
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.ProcessFormatSerlialNumber.ToString());
                config          = this.FillObject(config, settingDTO.ProcessFormatSerlialNumber);
                resultOperation = configurationService.Update(config);

                //ProcessStartPointSerlialNumber
                config = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.ProcessStartPointSerlialNumber.ToString());
                config = this.FillObject(config, settingDTO.ProcessStartPointSerlialNumber.ToStringObj());

                resultOperation = configurationService.Update(config);

                //ThreadFormatSerlialNumber
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.ThreadFormatSerlialNumber.ToString());
                config          = this.FillObject(config, settingDTO.ThreadFormatSerlialNumber);
                resultOperation = configurationService.Update(config);

                //ThreadStartPointSerlialNumber
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.ThreadStartPointSerlialNumber.ToString());
                config          = this.FillObject(config, settingDTO.ThreadStartPointSerlialNumber.ToStringObj());
                resultOperation = configurationService.Update(config);


                //AddUserAutomatically
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.AddUserAutomatically.ToString());
                config          = this.FillObject(config, settingDTO.AddUserAutomatically.ToStringObj());
                resultOperation = configurationService.Update(config);

                //ShowUserPanelWithNoSkin
                bool showNoSkin = settingDTO.ShowUserPanelWithNoSkin.ToStringObj().ToLower() == "true";
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.ShowUserPanelWithNoSkin.ToString());
                config          = this.FillObject(config, settingDTO.ShowUserPanelWithNoSkin.ToStringObj());
                resultOperation = configurationService.Update(config);

                //LoadUserPanelJquery
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.LoadUserPanelJquery.ToString());
                config          = this.FillObject(config, (showNoSkin ? "true" : settingDTO.LoadUserPanelJquery.ToStringObj()));
                resultOperation = configurationService.Update(config);

                //LoadUserPanelBootstrap
                config          = listValues.FirstOrDefault(c => c.Name == sysBpmsConfiguration.e_NameType.LoadUserPanelBootstrap.ToString());
                config          = this.FillObject(config, (showNoSkin ? "true" : settingDTO.LoadUserPanelBootstrap.ToStringObj()));
                resultOperation = configurationService.Update(config);

                TimerThreadEventScheduler.CheckScheduler();
                TimerStartEventScheduler.CheckScheduler();
            }

            if (resultOperation.IsSuccess)
            {
                return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success));
            }
            else
            {
                return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
            }
        }
예제 #19
0
        /// <summary>
        /// Tạo bài kiểm tra cho người dùng dưa trên config
        /// </summary>
        /// <param name="db"></param>
        /// <param name="accountId"></param>
        /// <param name="config"></param>
        /// <returns></returns>
        public static List <QuestionDTO> GenerateQuestion(DeverateContext db, int?accountId, ConfigurationDTO config)
        {
            List <QuestionDTO> questions = new List <QuestionDTO>();

            try
            {
                Random rand = new Random();
                List <CatalogueDTO> catalogues = GetCatalogueWeights(db, config.configId);
                for (int i = 0; i < catalogues.Count; i++)
                {
                    catalogues[i].questions = GetQuestionOfCatalogue(db, catalogues[i].catalogueId);
                }
                catalogues = GetNumberOfQuestionEachCatalogue(db, config.totalQuestion, catalogues);

                for (int i = 0; i < catalogues.Count; i++)
                {
                    List <int?>        quesIds   = new List <int?>();
                    List <QuestionDTO> totalQues = catalogues[i].questions;
                    int quesLenght = totalQues.Count;
                    int numbOfQues = catalogues[i].numberOfQuestion > catalogues[i].questions.Count ? catalogues[i].questions.Count : catalogues[i].numberOfQuestion.Value;
                    for (int j = 0; j < numbOfQues; j++)
                    {
                        int rQues = rand.Next(0, quesLenght);
                        if (!quesIds.Contains(totalQues[rQues].questionId))
                        {
                            quesIds.Add(totalQues[rQues].questionId);
                            questions.Add(totalQues[rQues]);
                        }
                        else
                        {
                            j--;
                        }
                    }
                }
                questions = Shuffle(questions);

                Test test = new Test();
                test.ConfigId   = config.configId.Value;
                test.AccountId  = accountId;
                test.CreateDate = DateTime.Now;
                test.IsActive   = true;
                db.Test.Add(test);
                db.SaveChanges();

                test.Code = GenerateCode();
                db.SaveChanges();

                for (int i = 0; i < questions.Count; i++)
                {
                    QuestionInTest inTest = new QuestionInTest();
                    inTest.TestId     = test.TestId;
                    inTest.QuestionId = questions[i].questionId;
                    inTest.IsActive   = true;
                    db.QuestionInTest.Add(inTest);
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                File.WriteAllText("log.txt", e.Message);
            }

            return(questions);
        }
예제 #20
0
        /// <summary>
        /// Send method.
        /// </summary>
        /// <param name="request">Request parameter</param>
        /// <param name="cancellationToken">Cancellation token parameter</param>
        /// <returns>Return HTTP response.</returns>
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            HttpResponseMessage response = new HttpResponseMessage();
            string customMessage         = "";

            try
            {
                // Initialization.
                IEnumerable <string>      apiKeyHeaderValues = null;
                AuthenticationHeaderValue authorization      = request.Headers.Authorization;
                //string userName = null;
                //string password = null;
                // Verification.
                if (request.Headers.TryGetValues(ApiInfo.API_KEY_HEADER, out apiKeyHeaderValues) && !string.IsNullOrEmpty(authorization.Parameter))
                {
                    var apiKeyHeaderValue = apiKeyHeaderValues.First();
                    // Get the auth token
                    string authToken = authorization.Parameter;
                    // Decode the token from BASE64
                    string decodedToken = Encoding.UTF8.GetString(Convert.FromBase64String(authToken));
                    // Extract username and password from decoded token
                    //userName = decodedToken.Substring(0, decodedToken.IndexOf(":"));
                    //password = decodedToken.Substring(decodedToken.IndexOf(":") + 1);

                    //string encryptedPassword = CustomEncryptorDecryptor.EncryptPassword(password);
                    StringBuilder filter = new StringBuilder();
                    filter.Append(" 1=1");
                    filter.Append(" and " + Converter.GetColumnNameByPropertyName <User>(nameof(User.ApiAuthToken)) + " = '" + apiKeyHeaderValue + "'");
                    //filter.Append(" and " + Converter.GetColumnNameByPropertyName<User>(nameof(User.Status)) + " = '1'");
                    List <User> userMatches = IUserService.GetDataByFilter(filter.ToString(), 0, 0, false);
                    if (userMatches.Count > 0)
                    {
                        User user = userMatches.FirstOrDefault();
                        if (user.Status == 1)
                        {
                            if (user.BranchId != 0)
                            {
                                Branch branch = IBranchService.GetSingle(user.BranchId);
                                if (branch != null)
                                {
                                    if (branch.Status == 1)
                                    {
                                        ConfigurationController configurationController = new ConfigurationController();
                                        ConfigurationDTO        config = (ConfigurationDTO)configurationController.Get(decodedToken);
                                        if (config.responseMsg == "Branch")
                                        {
                                            // Setting
                                            var identity = new GenericIdentity(decodedToken);
                                            SetPrincipal(new GenericPrincipal(identity, null));
                                            //response = request.CreateResponse(HttpStatusCode.OK);
                                            customMessage = "success";
                                        }
                                        else
                                        {
                                            customMessage         = config.responseMsg;
                                            response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                                            response.ReasonPhrase = config.responseMsg;
                                        }
                                    }
                                    else
                                    {
                                        customMessage         = "Branch not active!";
                                        response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                                        response.ReasonPhrase = customMessage;
                                    }
                                }
                                else
                                {
                                    customMessage         = "No Branch!";
                                    response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                                    response.ReasonPhrase = customMessage;
                                }
                            }
                            else
                            {
                                customMessage         = "Not Branch user!";
                                response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                                response.ReasonPhrase = customMessage;
                            }
                        }
                        else
                        {
                            customMessage         = "User not active!";
                            response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                            response.ReasonPhrase = customMessage;
                            //var msg = new HttpResponseMessage(HttpStatusCode.Unauthorized) { ReasonPhrase = "User not active!", Content = new StringContent("User not active!") };
                            //throw new HttpResponseException(msg);
                        }
                    }
                    else
                    {
                        customMessage         = "User doesn't exist!";
                        response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                        response.ReasonPhrase = customMessage;
                        //var msg = nesw HttpResponseMessage(HttpStatusCode.Unauthorized) { ReasonPhrase = "User doesn't exist!" };
                        //throw new HttpResponseException(msg);
                    }
                    // Verification.
                    //if (apiKeyHeaderValue.Equals(ApiInfo.API_KEY_VALUE) && userName.Equals(ApiInfo.USERNAME_VALUE) && password.Equals(ApiInfo.PASSWORD_VALUE))
                    //{

                    //}
                }
                // Info.
            }
            catch (Exception ex)
            {
                LogWriter logWriter = new LogWriter("Exception: " + ex.Message);
                customMessage         = "Exception: " + ex.Message;
                response              = request.CreateErrorResponse(HttpStatusCode.Unauthorized, customMessage);
                response.ReasonPhrase = customMessage;
            }
            if (customMessage == "success" || customMessage == "")
            {
                return(base.SendAsync(request, cancellationToken));
            }
            else
            {
                return(base.SendAsync(request, cancellationToken).ContinueWith(task =>
                {
                    return response;
                }));
            }
        }
예제 #21
0
 public void AddUpdateBasicConfiguration([FromBody] ConfigurationDTO dto)
 {
     _infomationAPI.AddUpdateBasicConfiguration(dto);
 }
예제 #22
0
 public void AddUpdateAdvancedConfiguration([FromBody] ConfigurationDTO dto)
 {
     _infomationAPI.AddUpdateAdvancedConfiguration(dto);
 }