Beispiel #1
0
        // Update Employee
        public HttpResponseMessage Put(Usersdata user)
        {
            string OutMessage = string.Empty;

            List <userinfo> emplist = new List <userinfo>();

            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            using (callcenterEntities db = new callcenterEntities())
            {
                try
                {
                    ObjectParameter Output = new ObjectParameter("responseMessage", typeof(string));

                    var users = db.uspAddUser(user.LoginName, Convert.ToString(user.PasswordHash), user.UserName, user.UserEmail, user.IsAdmin, user.IsActive, user.CanEdit, user.CanFilter, user.CanNavigate, Output);
                    OutMessage = Convert.ToString(Output.Value);
                    emplist    = db.userinfoes.ToList();
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
                }
            }
            return(Request.CreateResponse(HttpStatusCode.OK, new { emplist, responsemessage = OutMessage }));
        }
Beispiel #2
0
        // GET api/<controller>
        public List <Usersdata> Get()
        {
            List <Usersdata> emplist = new List <Usersdata>();

            using (callcenterEntities db = new callcenterEntities())
            {
                var results = db.userinfoes.ToList();

                /*var results = db.GetAllUsers(0, "").ToList();
                 * //var results = db.sp_InsUpdDelEmployee(0, "", "", "", "", "", "Get").ToList(); */
                foreach (var result in results)
                {
                    var employee = new Usersdata()
                    {
                        UserId      = result.UserId,
                        LoginName   = result.LoginName,
                        UserEmail   = result.UserEmail,
                        UserName    = result.UserName,
                        IsActive    = result.IsActive,
                        IsAdmin     = result.IsAdmin,
                        CanEdit     = result.CanEdit,
                        CanFilter   = result.CanFilter,
                        CanNavigate = result.CanNavigate
                    };
                    emplist.Add(employee);
                }
                return(emplist);
            }
        }
Beispiel #3
0
        // Insert Employee
        public HttpResponseMessage Post(Usersdata user)
        {
            string OutMessage = string.Empty;

            if (ModelState.IsValid)
            {
                using (callcenterEntities db = new callcenterEntities())
                {
                    ObjectParameter Output = new ObjectParameter("responseMessage", typeof(string));

                    //string mssage = string.Empty;
                    var objresults = db.uspAddUser(user.LoginName, Convert.ToString(user.PasswordHash), user.UserName, user.UserEmail, user.IsAdmin, user.IsActive, user.CanEdit, user.CanFilter, user.CanNavigate, Output);
                    var emplist    = db.userinfoes.ToList();

                    OutMessage = Convert.ToString(Output.Value);

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, new { emplist, responsemessage = OutMessage });
                    return(response);
                }
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
Beispiel #4
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            using (callcenterEntities db = new callcenterEntities())
            {
                ObjectParameter Output = new ObjectParameter("responseMessage", typeof(string));
                db.uspValidateUser(model.Username, model.Password, Output);

                if (Convert.ToString(Output.Value).Contains("Success"))
                {
                    var validuser = db.userinfoes.FirstOrDefault(i => i.LoginName == model.Username);
                    Session["UserID"]    = validuser.UserId;
                    Session["LoginName"] = validuser.LoginName;
                    Session["UserName"]  = validuser.UserName;
                    Session["UserEmail"] = validuser.UserEmail;
                    if (validuser.IsAdmin)
                    {
                        Session["IsAdmin"] = true;
                    }
                    else
                    {
                        Session["IsAdmin"] = false;
                    }
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", Convert.ToString(Output.Value));
                    return(View(model));
                }
            }


            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            //switch (result)
            //{
            //    case SignInStatus.Success:
            //        return RedirectToLocal(returnUrl);
            //    case SignInStatus.LockedOut:
            //        return View("Lockout");
            //    case SignInStatus.RequiresVerification:
            //        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            //    case SignInStatus.Failure:
            //    default:
            //        ModelState.AddModelError("", "Invalid login attempt.");
            //        return View(model);
            //}
        }
Beispiel #5
0
 // GET api/<controller>/5
 public userinfo Get(int id)
 {
     using (callcenterEntities db = new callcenterEntities())
     {
         userinfo employee = db.userinfoes.Find(id);
         // employee.PasswordHash = "";
         if (employee == null)
         {
             throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
         }
         return(employee);
     }
 }
Beispiel #6
0
        public HttpResponseMessage DeleteMethod(int Id)
        {
            string OutMessage = string.Empty;

            using (callcenterEntities db = new callcenterEntities())
            {
                List <userinfo> emplist = new List <userinfo>();
                try
                {
                    ObjectParameter Output = new ObjectParameter("responseMessage", typeof(string));
                    string          plogin = db.userinfoes.Find(Id).LoginName;
                    db.uspDeleteUser(plogin, Output);
                    OutMessage = Convert.ToString(Output.Value);
                    // emplist = db.userinfoes.ToList();
                    emplist = db.userinfoes.ToList();
                    emplist.FirstOrDefault(i => i.UserId == Id).IsActive = false;
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
                }
                return(Request.CreateResponse(HttpStatusCode.OK, new { emplist, responsemessage = OutMessage }));
            }
        }
Beispiel #7
0
 public OperacionesService(callcenterEntities pDb) : base(pDb)
 {
     this.db = pDb;
     reply   = new ReplyViewModel();
 }
Beispiel #8
0
 public SeguimientosService(callcenterEntities pDb) : base(pDb)
 {
     this.db = pDb;
     reply   = new ReplyViewModel();
 }
Beispiel #9
0
 public AgendaService(callcenterEntities pDb) : base(pDb)
 {
     this.db = pDb;
     reply   = new ReplyViewModel();
 }
Beispiel #10
0
 public HomeService(callcenterEntities pDb) : base(pDb)
 {
     this.db    = pDb;
     this.reply = new ReplyViewModel();
 }
Beispiel #11
0
 public PersonasService(callcenterEntities pDb)
 {
     this.db = pDb;
 }
Beispiel #12
0
 public Call(callcenterEntities pdb) : base(pdb)
 {
     this.db = pdb;
 }
Beispiel #13
0
        public async Task <EmbedConfig> EmbedReport(string username, string roles)
        {
            var result = new EmbedConfig();

            try
            {
                result = new EmbedConfig {
                    Username = username, Roles = roles
                };
                var error = GetWebConfigErrors();
                if (error != null)
                {
                    result.ErrorMessage = error;
                    // return View(result);
                    return(result);
                }

                // Create a user password cradentials.
                var credential = new UserPasswordCredential(Username, Password);

                // Authenticate using created credentials
                var authenticationContext = new AuthenticationContext(AuthorityUrl);
                var authenticationResult  = await authenticationContext.AcquireTokenAsync(ResourceUrl, ApplicationId, credential);

                if (authenticationResult == null)
                {
                    result.ErrorMessage = "Authentication Failed.";
                    // return View(result);
                    return(result);
                }

                var tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");

                // Create a Power BI Client object. It will be used to call Power BI APIs.
                using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
                {
                    // Get a list of reports.
                    var reports = await client.Reports.GetReportsInGroupAsync(WorkspaceId);

                    // No reports retrieved for the given workspace.
                    if (reports.Value.Count() == 0)
                    {
                        result.ErrorMessage = "No reports were found in the workspace";
                        // return View(result);
                        return(result);
                    }

                    Report report;
                    if (string.IsNullOrWhiteSpace(ReportId))
                    {
                        // Get the first report in the workspace.
                        report = reports.Value.FirstOrDefault();
                    }
                    else
                    {
                        report = reports.Value.FirstOrDefault(r => r.Id == ReportId);
                    }

                    if (report == null)
                    {
                        result.ErrorMessage = "No report with the given ID was found in the workspace. Make sure ReportId is valid.";
                        // return View(result);
                        return(result);
                    }

                    var datasets = await client.Datasets.GetDatasetByIdInGroupAsync(WorkspaceId, report.DatasetId);

                    result.IsEffectiveIdentityRequired      = datasets.IsEffectiveIdentityRequired;
                    result.IsEffectiveIdentityRolesRequired = datasets.IsEffectiveIdentityRolesRequired;
                    GenerateTokenRequest generateTokenRequestParameters;
                    // This is how you create embed token with effective identities
                    if (!string.IsNullOrWhiteSpace(username))
                    {
                        var rls = new EffectiveIdentity(username, new List <string> {
                            report.DatasetId
                        });
                        if (!string.IsNullOrWhiteSpace(roles))
                        {
                            var rolesList = new List <string>();
                            rolesList.AddRange(roles.Split(','));
                            rls.Roles = rolesList;
                        }
                        // Generate Embed Token with effective identities.
                        generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view", identities: new List <EffectiveIdentity> {
                            rls
                        });
                    }
                    else
                    {
                        // Generate Embed Token for reports without effective identities.
                        generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
                    }

                    var tokenResponse = await client.Reports.GenerateTokenInGroupAsync(WorkspaceId, report.Id, generateTokenRequestParameters);

                    if (tokenResponse == null)
                    {
                        result.ErrorMessage = "Failed to generate embed token.";
                        // return View(result);
                        return(result);
                    }

                    if (Session["UserID"] != null)
                    {
                        using (callcenterEntities db = new callcenterEntities())
                        {
                            int userid    = Convert.ToInt32(Session["UserID"]);
                            var validuser = db.userinfoes.FirstOrDefault(i => i.UserId == userid);
                            result.CanEdit     = validuser.CanEdit;
                            result.CanFilter   = validuser.CanFilter;
                            result.CanNavigate = validuser.CanNavigate;
                        }
                    }

                    // Generate Embed Configuration.
                    result.EmbedToken = tokenResponse;
                    result.EmbedUrl   = report.EmbedUrl;
                    result.Id         = report.Id;

                    // return View(result);
                    return(result);
                }
            }
            catch (HttpOperationException exc)
            {
                result.ErrorMessage = string.Format("Status: {0} ({1})\r\nResponse: {2}\r\nRequestId: {3}", exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content, exc.Response.Headers["RequestId"].FirstOrDefault());
            }
            catch (Exception exc)
            {
                result.ErrorMessage = exc.ToString();
            }

            // return View(result);
            return(result);
        }
Beispiel #14
0
 // Prevent Memory Leak
 protected override void Dispose(bool disposing)
 {
     using (callcenterEntities db = new callcenterEntities())
         db.Dispose();
     base.Dispose(disposing);
 }
Beispiel #15
0
 public SecurityLayer(callcenterEntities pdb)
 {
     this.db = pdb;
 }
Beispiel #16
0
 public UsuarioService(callcenterEntities pDb)
 {
     this.db = pDb;
 }