Exemplo n.º 1
0
        /// <summary>
        /// SaveResult Servis Metodu.
        /// </summary>
        /// <param name="clientId">Kullanıcı Id değeri.</param>
        /// <param name="n">Hesaplama yapılacak N sayısı.</param>
        /// <param name="isPrime">Sayının asal olup olmadığının kontrolü.</param>
        public void SaveResult(Guid clientId, int n, bool isPrime)
        {
            using (var dc = new PrimeDataContext())
            {
                var item = dc.Jobs.FirstOrDefault(c => c.Client_Id == clientId && c.N == n);

                if (item == null)
                {
                    return;
                }

                item.Result      = isPrime;
                item.Result_Date = DateTime.Now;

                dc.SubmitChanges();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Register Servis Metodu.
        /// </summary>
        /// <param name="mail">Kullanıcının mail adresi.</param>
        /// <returns></returns>
        public Guid Register(string mail)
        {
            using (var dc = new PrimeDataContext())
            {
                var clientId = dc.Clients.Where(c => c.Mail == mail).Select(c => c.Id).FirstOrDefault();

                if (clientId == Guid.Empty)
                {
                    var item = new Client {
                        Id = Guid.NewGuid(), Mail = mail
                    };

                    dc.Clients.InsertOnSubmit(item);

                    dc.SubmitChanges();

                    return(item.Id);
                }

                return(clientId);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// GetNumber Servis Metodu.
        /// </summary>
        /// <param name="clientId">Kullanıcının Id değeri.</param>
        /// <returns></returns>
        public int GetNumber(Guid clientId)
        {
            using (var dc = new PrimeDataContext())
            {
                var n = dc.Jobs.Where(c =>
                                      !c.Result.HasValue &&
                                      c.Assign_Date < DateTime.Now.AddMinutes(-1) &&
                                      dc.Jobs.Any(j => j.Result.HasValue || j.Assign_Date > DateTime.Now.AddMinutes(-1) && j.N == c.N)).Select(c => c.N).FirstOrDefault();

                if (n == 0)
                {
                    n = dc.Jobs.OrderByDescending(c => c.N).Select(c => c.N).FirstOrDefault();

                    if (n == 0)
                    {
                        n = 1009;
                    }
                    else
                    {
                        n = n + 2;
                    }
                }

                var item = new Job
                {
                    Id          = Guid.NewGuid(),
                    N           = n,
                    Client_Id   = clientId,
                    Assign_Date = DateTime.Now
                };
                dc.Jobs.InsertOnSubmit(item);
                dc.SubmitChanges();

                return(n);
            }
        }