Пример #1
0
        internal static TokenInfo ValidaToken(RequestBase request)
        {
            TokenInfo result = null;

            using (var db = new BiblosDS2010APIEntities())
            {
                var token = db.LoginTokens.Where(x => x.IdLoginToken == request.Token).SingleOrDefault();
                if (token != null)
                {
                    if (DateTime.Compare(DateTime.Now, token.DateExpire) > 0)
                    {
                        db.DeleteObject(token);
                    }
                    else
                    {
                        result = new TokenInfo();
                        result.DataScadenza = DateTime.Now.AddMinutes(20);
                        result.Token        = token.IdLoginToken;
                        result.IdCliente    = token.IdCustomer;
                        token.DateExpire    = result.DataScadenza;
                    }
                    db.SaveChanges();
                }
            }
            return(result);
        }
Пример #2
0
 internal static void UpdateDocumentIdByIdDocument(Guid idDocument, Guid newIdDocument)
 {
     using (var db = new BiblosDS2010APIEntities())
     {
         var documentKey = db.DocumentKeys.Where(x => x.IdDocument == idDocument).SingleOrDefault();
         documentKey.IdDocument = newIdDocument;
         db.SaveChanges();
     }
 }
Пример #3
0
 internal static void DeleteDocumentKey(Guid idDocument)
 {
     using (var db = new BiblosDS2010APIEntities())
     {
         var documentKey = db.DocumentKeys.Where(x => x.IdDocument == idDocument).SingleOrDefault();
         db.DeleteObject(documentKey);
         db.SaveChanges();
     }
 }
        /// <summary>
        /// Metodo di autenticazione a biblos tramite Username e Password
        /// </summary>
        /// <param name="request"><see cref="LoginRequest">LoginRequest</see></param>
        /// <returns><see cref="LoginResponse">LoginResponse</see></returns>
        public static LoginResponse Login(LoginRequest request)
        {
            LoginResponse response = new LoginResponse();

            try
            {
                logger.Debug("Login request");
                if (string.IsNullOrEmpty(request.IdCliente))
                {
                    response.CodiceEsito = CodiceErrore.IdClienteErrato;
                }
                else if (string.IsNullOrEmpty(request.UserName) || string.IsNullOrEmpty(request.Password))
                {
                    response.CodiceEsito = CodiceErrore.LoginNonValido;
                }
                else
                {
                    using (var db = new BiblosDS2010APIEntities())
                    {
                        string passwordEncrypted = PasswordService.GenerateHash(request.Password);
                        var    userLogin         = db.CustomerLogins.Where(x => x.IdCustomer == request.IdCliente && x.UserName == request.UserName && x.Password == passwordEncrypted).FirstOrDefault();
                        if (userLogin != null)
                        {
                            response.TokenInfo = new TokenInfo {
                                Token = Guid.NewGuid(), DataScadenza = DateTime.Now.AddMinutes(20)
                            };
                            db.LoginTokens.AddObject(new LoginToken {
                                IdLoginToken = response.TokenInfo.Token, IdCustomerLogin = userLogin.IdCustomerLogin, IdCustomer = userLogin.IdCustomer, DateCreated = DateTime.Now, DateExpire = response.TokenInfo.DataScadenza
                            });
                            db.SaveChanges();
                            response.Eseguito = true;
                        }
                        else
                        {
                            response.CodiceEsito = CodiceErrore.LoginNonValido;
                        }
                    }
                }
                logger.DebugFormat("Login response:{0}", response.ToString());
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                response.CodiceEsito     = CodiceErrore.ErroreGenerico;
                response.MessaggioErrore = ex.ToString();
            }
            return(response);
        }
Пример #5
0
 internal static void SetDocumentKey(RequestBase request, Guid idDocumento, string chiave)
 {
     using (var db = new BiblosDS2010APIEntities())
     {
         DocumentKey documentKey = db.DocumentKeys.Where(x => x.DocumentClass == request.TipoDocumento && x.IdCustomer == request.IdCliente && x.Code == chiave).SingleOrDefault();
         if (documentKey == null)
         {
             db.AddToDocumentKeys(new DocumentKey {
                 DocumentClass = request.TipoDocumento, IdCustomer = request.IdCliente, Code = chiave, IdDocument = idDocumento, CreatedDate = DateTime.Now
             });
             db.SaveChanges();
         }
         else
         {
             throw new Exception("Document alrady exists: " + idDocumento + ", chiave: " + chiave);
         }
     }
 }
 /// <summary>
 /// Logout
 /// </summary>
 /// <param name="token">Id del token di autenticazione</param>
 public static void Logout(Guid token)
 {
     try
     {
         logger.DebugFormat("Login Logout:{0}", token);
         using (var db = new BiblosDS2010APIEntities())
         {
             var userLogin = db.LoginTokens.Where(x => x.IdLoginToken == token).FirstOrDefault();
             if (userLogin != null)
             {
                 db.DeleteObject(userLogin);
                 db.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
         logger.Error(ex);
         //LogOut sempre valida non da mai eccezione
         //throw;
     }
 }