Ejemplo n.º 1
0
        public void AddAuctionOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    entity.Auctions.Add(((Auctions)SingletonCache.Instance().Storage[Context.User.Identity.Name]));
                    entity.SaveChanges();
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    string strm = ((Auctions)(SingletonCache.Instance().Storage[Context.User.Identity.Name])).AuctionNumber;
                    id = entity2.Auctions.Where(x => x.AuctionNumber == strm).First().ID;
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,מכרז נוסף למערכת";
            }
            catch (Exception e)
            {
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,הוספת מכרז נכשלה";
            }
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
Ejemplo n.º 2
0
 public ActionResult ResetPassword(ResetPassModel mod)
 {
     using (TimchurDatabaseEntities ent = new TimchurDatabaseEntities())
     {
         bool valid = ent.Users.Where(x => x.IDCardNumber == mod.Id && x.Email == mod.Email).Count() > 0;
         bool exist = false;
         foreach (String s in LoginController.email_key.Keys)
         {
             if (s.CompareTo(mod.Email) == 0)
             {
                 exist = true;
             }
         }
         bool key_email_validation = exist && LoginController.email_key[mod.Email].CompareTo(mod.Key) == 0;
         if (valid && key_email_validation)
         {
             Cache.gen_lock.WaitOne();
             var my_use = ent.Users.Where(x => x.IDCardNumber == mod.Id && x.Email == mod.Email);
             foreach (Users use in my_use)
             {
                 use.Password = mod.NewPass.ToString();
             }
             ent.SaveChanges();
             Cache.gen_lock.ReleaseMutex();
             ModelState.AddModelError("הצליח", "שינוי פרטים הצליח");
             return(View(mod));
         }
         else
         {
             ModelState.AddModelError("שגיאה", "פרטים לא נכונים, אנא וודא את השדות ושלח שוב");
             return(View(mod));
         }
     }
 }
Ejemplo n.º 3
0
        public ActionResult EditSupplier(int?id)
        {
            if (id == null)
            {
                return(View("EditSupplier"));
            }
            using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
            {
                Suppliers sup = entity.Suppliers.Where(x => x.ID == id).First();
                if (sup == null)
                {
                    return(View("EditSupplier"));
                }
                else
                {
                    SupplierFModel fm = new SupplierFModel();
                    fm.supliers = sup;
                    List <int?> fl = new List <int?>();
                    foreach (SuppliersClusetrs ua in sup.SuppliersClusetrs)
                    {
                        if (ua.Statuses.ID == 1)
                        {
                            fl.Add(ua.ClusetrID);
                        }
                    }


                    fm.Limitions = fl;
                    return(View("EditSupplier", fm));
                }
            }
        }
        private void SignInAsync(LoginModel user, bool isPersistent)
        {
            AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
            using (var conn = new TimchurDatabaseEntities())
            {
                Users  User = conn.Users.Where(s => (s.IDCardNumber).ToString() == user.Username).FirstOrDefault <Users>();
                string role = "User";
                if (User.Roles.ID == 1)
                {
                    role = "User";
                }
                else
                {
                    role = "Admin";
                }
                var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, User.IDCardNumber), new Claim(ClaimTypes.GivenName, User.FullName), new Claim(ClaimTypes.Role, role) }, "ApplicationCookie");
                SingletonCache.Instance().last_msg[User.IDCardNumber] = null;


                AuthenticationManager.SignIn(
                    new AuthenticationProperties()
                {
                    IsPersistent = isPersistent
                }, identity);
            }
            //צריך להוסיף להוציא שם מהמסד
        }
Ejemplo n.º 5
0
 public ActionResult CancelTichur(TCanData can)
 {
     Cache.gen_lock.WaitOne();
     try
     {
         using (TimchurDatabaseEntities ent = new TimchurDatabaseEntities())
         {
             Tichurim tic = ent.Tichurim.Where(x => x.TichurNumber == can.id).FirstOrDefault();
             foreach (SuppliersTichurim sti in tic.SuppliersTichurim)
             {
                 if (sti.Suppliers.SuppliersClusetrs.Where(x2 => x2.ClusetrID == tic.ClusterID).First().LastTimeInList == tic.DateTimeCreated)
                 {
                     sti.Suppliers.SuppliersClusetrs.Where(x2 => x2.ClusetrID == tic.ClusterID).First().LastTimeInList = sti.Suppliers.SuppliersClusetrs.Where(x2 => x2.ClusetrID == tic.ClusterID).First().FormarLastTimeInList;
                 }
             }
             tic.UpdatedUserID   = ent.Users.Where(x => x.IDCardNumber == User.Identity.Name).First().ID;
             tic.DateTimeUpdated = DateTime.Now;
             tic.StatusID        = 2;
             tic.UpdatedComment  = can.comment;
             ent.SaveChanges();
             Cache.gen_lock.ReleaseMutex();
             return(Json("ביטול תיחור הצליח"));
         }
     }
     catch (Exception e)
     {
         Cache.gen_lock.ReleaseMutex();
         return(Json("ביטול תיחור נכשל"));
     }
 }
        /// <summary>
        /// Saves the stored update of a unit into the database,
        /// and sends a cache message of the operation's completion status.
        /// </summary>
        public void editUnitOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            UnitFModel mf = null;

            if (SingletonCache.Instance().Storage.ContainsKey(Context.User.Identity.Name))
            {
                mf = ((UnitFModel)SingletonCache.Instance().Storage[Context.User.Identity.Name]);
            }
            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    var original = entity.Units.Find(mf.unit.ID);


                    if (original != null)
                    {
                        entity.UnitsAuctions.RemoveRange(entity.UnitsAuctions.Where(x => x.UnitID == mf.unit.ID));
                        if (mf.Limitations != null)
                        {
                            foreach (int i in mf.Limitations)
                            {
                                UnitsAuctions ua = new UnitsAuctions();
                                ua.AuctionID = i;
                                ua.UnitID    = mf.unit.ID;
                                entity.UnitsAuctions.Add(ua);
                            }
                        }
                        entity.Entry(original).CurrentValues.SetValues(((UnitFModel)SingletonCache.Instance().Storage[Context.User.Identity.Name]).unit);
                        entity.SaveChanges();
                    }
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    int strm = mf.unit.ID;
                    id = entity2.Units.Where(x => x.ID == strm).First().ID;
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, יחידה עודכה במערכת";
            }
            catch (Exception e)
            {
                System.Diagnostics.Trace.Write(e.ToString());
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, עדכון יחידה נכשל במערכת";
            }
            SingletonCache.Instance().Storage[Context.User.Identity.Name] = null;
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
Ejemplo n.º 7
0
        public ActionResult EditUnit(int?id)
        {
            if (id == null)
            {
                return(View("EditUnit"));
            }
            using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
            {
                Units uni = entity.Units.Where(x => x.ID == id).First();
                if (uni == null)
                {
                    return(View("EditUnit"));
                }
                else
                {
                    List <int?> fl = new List <int?>();
                    foreach (UnitsAuctions ua in uni.UnitsAuctions)
                    {
                        fl.Add(ua.AuctionID);
                    }
                    UnitFModel fm = new UnitFModel();
                    fm.unit      = uni;
                    fm.Limitions = fl;

                    return(View("EditUnit", fm));
                }
            }
        }
Ejemplo n.º 8
0
        public ActionResult MangSuppliers()
        {
            db = new TimchurDatabaseEntities();
            List <Suppliers> li = db.Suppliers.OrderBy(s => s.Name).OrderBy(s => s.SuppliersClusetrs.FirstOrDefault().Clusetrs.Auctions.AuctionNumber).OrderBy(s => s.SuppliersClusetrs.FirstOrDefault().Clusetrs.DisplayNumber).ToList();

            /** load from database user list **/
            /** transform loaded data into model fit for edit + present **/

            return(View(li));
        }
Ejemplo n.º 9
0
        public ActionResult MangAuctions()
        {
            db = new TimchurDatabaseEntities();
            List <Auctions> li = db.Auctions.OrderBy(s => s.AuctionNumber).ToList();

            /** load from database user list **/
            /** transform loaded data into model fit for edit + present **/

            return(View(li));
        }
        public bool Authenticate(string username, string Password)
        {
            Users user;

            using (var context = new TimchurDatabaseEntities())
            {
                user = context.Users.Where(s => (s.IDCardNumber).ToString() == username).Where(s => (s.Password) == Password).FirstOrDefault <Users>();
            }
            if (user == null)
            {
                return(false);
            }
            return(true);
        }
        /// <summary>
        /// Saves the stored creation of a unit into the database,
        /// and sends a cache message of the operation's completion status.
        /// </summary>
        public void AddUnitOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            UnitFModel mf = ((UnitFModel)SingletonCache.Instance().Storage[Context.User.Identity.Name]);

            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    entity.Units.Add(mf.unit);
                    entity.SaveChanges();
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    string strm = mf.unit.Name;
                    id = entity2.Units.Where(x => x.Name == strm).First().ID;
                    if (mf.Limitations != null)
                    {
                        foreach (int i in mf.Limitations)
                        {
                            UnitsAuctions ua = new UnitsAuctions();
                            ua.AuctionID = i;
                            ua.UnitID    = id;
                            entity2.UnitsAuctions.Add(ua);
                        }
                    }
                    entity2.SaveChanges();
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, יחידה נוספה למערכת";
            }
            catch (Exception e)
            {
                System.Diagnostics.Trace.Write(e.ToString());
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, הוספת יחידה נכשלה";
            }
            SingletonCache.Instance().Storage[Context.User.Identity.Name] = null;
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
Ejemplo n.º 12
0
 public ActionResult GetCluByAuc(int auctionId)
 {
     using (TimchurDatabaseEntities ent = new TimchurDatabaseEntities())
     {
         List <SelectListItem> li = new List <SelectListItem>();
         foreach (Clusetrs clu in ent.Clusetrs.Where(x => x.AuctionID == auctionId && x.StatusID == 1).OrderBy(x => x.DisplayNumber))
         {
             li.Add(new SelectListItem()
             {
                 Value = clu.ID.ToString(), Text = clu.DisplayNumber + "-" + clu.Name
             });
         }
         return(Json(li));
     }
 }
        /// <summary>
        /// Saves the stored update of an auction into the database,
        /// and sends a cache message of the operation's completion status.
        /// </summary>
        public void EditAuctionOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    var original = entity.Auctions.Find(((Auctions)SingletonCache.Instance().Storage[Context.User.Identity.Name]).ID);

                    if (original != null)
                    {
                        Auctions curr = ((Auctions)SingletonCache.Instance().Storage[Context.User.Identity.Name]);

                        entity.Entry(original).CurrentValues.SetValues(((Auctions)SingletonCache.Instance().Storage[Context.User.Identity.Name]));
                        entity.SaveChanges();
                    }

                    entity.SaveChanges();
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    string strm = ((Auctions)(SingletonCache.Instance().Storage[Context.User.Identity.Name])).AuctionNumber;
                    id = entity2.Auctions.Where(x => x.AuctionNumber == strm).First().ID;
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, מכרז עודכן במערכת";
            }
            catch (Exception e)
            {
                System.Diagnostics.Trace.Write(e.ToString());
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, עדכון מכרז נכשל";
            }
            SingletonCache.Instance().Storage[Context.User.Identity.Name] = null;
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
Ejemplo n.º 14
0
 public ActionResult EditUser(int?id)
 {
     if (id == null)
     {
         return(View("EditUser"));
     }
     using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
     {
         Users use = entity.Users.Where(x => x.ID == id).First();
         if (use == null)
         {
             return(View("EditUser"));
         }
         else
         {
             return(View("EditUser", use));
         }
     }
 }
Ejemplo n.º 15
0
 public ActionResult EditAuction(int?id)
 {
     if (id == null)
     {
         return(View("EditAuction"));
     }
     using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
     {
         Auctions auc = entity.Auctions.Where(x => x.ID == id).First();
         if (auc == null)
         {
             return(View("EditAuction"));
         }
         else
         {
             return(View("EditAuction", auc));
         }
     }
 }
Ejemplo n.º 16
0
 public ActionResult EditClusetr(int?id)
 {
     if (id == null)
     {
         return(View("EditClusetr"));
     }
     using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
     {
         Clusetrs clu = entity.Clusetrs.Where(x => x.ID == id).First();
         if (clu == null)
         {
             return(View("EditClusetr"));
         }
         else
         {
             return(View("EditClusetr", clu));
         }
     }
 }
Ejemplo n.º 17
0
        public void EditClusetrOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    var original = entity.Clusetrs.Find(((Clusetrs)SingletonCache.Instance().Storage[Context.User.Identity.Name]).ID);

                    if (original != null)
                    {
                        entity.Entry(original).CurrentValues.SetValues(((Clusetrs)SingletonCache.Instance().Storage[Context.User.Identity.Name]));
                        entity.SaveChanges();
                    }

                    entity.SaveChanges();
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    byte strm = ((Clusetrs)(SingletonCache.Instance().Storage[Context.User.Identity.Name])).DisplayNumber.Value;
                    id = entity2.Clusetrs.Where(x => x.DisplayNumber == strm).First().ID;
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,סל עודכן במערכת";
            }
            catch (Exception e)
            {
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,עדכון סל נכשל";
            }
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
        /// <summary>
        /// Saves the stored creation of a cluster into the database,
        /// and sends a cache message of the operation's completion status.
        /// </summary>
        public void AddClusterOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    entity.Clusters.Add(((Clusters)SingletonCache.Instance().Storage[Context.User.Identity.Name]));
                    entity.SaveChanges();
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    byte strm = ((Clusters)(SingletonCache.Instance().Storage[Context.User.Identity.Name])).DisplayNumber.Value;
                    id = entity2.Clusters.Where(x => x.DisplayNumber == strm).First().ID;
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, סל נוסף למערכת";
            }
            catch (Exception e)
            {
                System.Diagnostics.Trace.Write(e.ToString());
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה, הוספת סל נכשלה";
            }
            SingletonCache.Instance().Storage[Context.User.Identity.Name] = null;
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
Ejemplo n.º 19
0
 public ActionResult AddSupplier(SupplierFModel sup)
 {
     if (ModelState.IsValid)
     {
         using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
         {
             int cou = entity.Suppliers.Count(x => x.Name == sup.supliers.Name);
             if (cou != 0)
             {
                 ModelState.AddModelError("Exist", "יחידה בעלת מספר זה כבר קיים.");
                 return(View(sup));
             }
             else
             {
                 SingletonCache.Instance().Storage[User.Identity.Name] = sup;
                 return(RedirectToAction("SupplierLoadingScreen", "Main"));
             }
         }
     }
     else
     {
         return(View(sup));
     }
 }
Ejemplo n.º 20
0
 public ActionResult AddUnit(UnitFModel uni)
 {
     if (ModelState.IsValid)
     {
         using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
         {
             int cou = entity.Units.Count(x => x.Name == uni.unit.Name);
             if (cou != 0)
             {
                 ModelState.AddModelError("Exist", "יחידה בעלת מספר זה כבר קיים.");
                 return(View(uni));
             }
             else
             {
                 SingletonCache.Instance().Storage[User.Identity.Name] = uni;
                 return(RedirectToAction("UnitLoadingScreen", "Main"));
             }
         }
     }
     else
     {
         return(View(uni));
     }
 }
Ejemplo n.º 21
0
 public ActionResult AddClusetr(Clusetrs clu)
 {
     if (ModelState.IsValid)
     {
         using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
         {
             int cou = entity.Clusetrs.Count(x => x.DisplayNumber == clu.DisplayNumber);
             if (cou != 0)
             {
                 ModelState.AddModelError("Exist", "ספק בעל מספר זה כבר קיים.");
                 return(View(clu));
             }
             else
             {
                 SingletonCache.Instance().Storage[User.Identity.Name] = clu;
                 return(RedirectToAction("ClusetrLoadingScreen", "Main"));
             }
         }
     }
     else
     {
         return(View(clu));
     }
 }
Ejemplo n.º 22
0
 public ActionResult AddAuction(Auctions auc)
 {
     if (ModelState.IsValid)
     {
         using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
         {
             int cou = entity.Auctions.Count(x => x.AuctionNumber == auc.AuctionNumber);
             if (cou != 0)
             {
                 ModelState.AddModelError("Exist", "מכרז בעל מספר זה כבר קיים.");
                 return(View(auc));
             }
             else
             {
                 SingletonCache.Instance().Storage[User.Identity.Name] = auc;
                 return(RedirectToAction("AuctionLoadingScreen", "Main"));
             }
         }
     }
     else
     {
         return(View(auc));
     }
 }
Ejemplo n.º 23
0
 public ActionResult AddUser(Users use)
 {
     if (ModelState.IsValid)
     {
         using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
         {
             int cou = entity.Users.Count(x => x.IDCardNumber == use.IDCardNumber);
             if (cou != 0)
             {
                 ModelState.AddModelError("Exist", "המשתמש בעל תעודת הזהות הזאת כבר קיים.");
                 return(View(use));
             }
             else
             {
                 SingletonCache.Instance().Storage[User.Identity.Name] = use;
                 return(RedirectToAction("UserLoadingScreen", "Main"));
             }
         }
     }
     else
     {
         return(View(use));
     }
 }
Ejemplo n.º 24
0
        public TablePullResult TichurAlgorithem(TichurInfo input)
        {
            using (TimchurDatabaseEntities ent = new TimchurDatabaseEntities())
            {
                // Checking for duplicate tichurs
                Database.Tichurim check = ent.Tichurim.Where(x => x.TichurNumber == input.TichurNumber).FirstOrDefault();
                if (ent.Tichurim.Where(x => x.TichurNumber == input.TichurNumber).Count() != 0 && check.UnitID == input.UnitID && check.StatusID == 1)
                {
                    throw new DuplicateKeyException(check);
                }
                TablePullResult res = new TablePullResult();
                int             suppliersRemaining = 0;
                if (ent.Clusetrs.Where(x => x.ID == input.CluestrID).FirstOrDefault() != null)
                {
                    suppliersRemaining = ent.Clusetrs.Where(x => x.ID == input.CluestrID).FirstOrDefault().SuppliersInTichur.Value;
                }


                var sortByUsagePre = (from sup in ent.Suppliers
                                      join supcluc in ent.SuppliersClusetrs
                                      on sup.ID equals supcluc.SupplierID
                                      where supcluc.ClusetrID == input.CluestrID && sup.StatusID == 1
                                      orderby supcluc.LastTimeInList
                                      select new { Sup = sup, SupCl = supcluc });
                var sortByUsage = sortByUsagePre.AsExpandable().GroupBy(x => DbFunctions.AddMilliseconds(x.SupCl.LastTimeInList, -x.SupCl.LastTimeInList.Value.Millisecond)).OrderBy(x => x.Key);
                //Date-grouped iterator

                var itr = sortByUsage.GetEnumerator();
                itr.MoveNext();
                var rnd = new Random();
                while (suppliersRemaining > 0)
                {
                    //oldest group of suppliers
                    var dateGroup = itr.Current;
                    //Need to pick a random subset of the suppliers
                    if (dateGroup.Count() < suppliersRemaining)
                    {
                        var shuffled = dateGroup.OrderBy(i => rnd.Next());
                        // Going over the shuffled list until enough are extracted
                        foreach (var supplier in shuffled)
                        {
                            res.table.Add(supplier.Sup.ID.ToString());
                            if (--suppliersRemaining == 0)
                            {
                                break;
                            }
                        }
                        itr.MoveNext();
                    }
                    else
                    {
                        //Need at least one entire dategroup - adding all suppliers in current set.
                        foreach (var supplier in dateGroup)
                        {
                            res.table.Add(supplier.Sup.ID.ToString());
                        }
                        suppliersRemaining -= dateGroup.Count();
                        itr.MoveNext();
                    }
                }
                return(res);
            }
        }
Ejemplo n.º 25
0
        public ActionResult GetByTichurDates(TEBDData data)
        {
            DateTime to;

            string[] to_str = data.To.Split('/');
            to = new DateTime(Int32.Parse(to_str[2]), Int32.Parse(to_str[0]), Int32.Parse(to_str[1]));
            DateTime from;

            string[] from_str = data.From.Split('/');
            from = new DateTime(Int32.Parse(from_str[2]), Int32.Parse(from_str[0]), Int32.Parse(from_str[1]));
            if (from > to)
            {
                GenModel failRes = new GenModel();
                failRes.data = new List <string[]>();
                failRes.data.Add(new string[] { "טווח תאריכים אינו תקין" });
                failRes.Status = "error";
                return(Json(failRes));
            }

            using (TimchurDatabaseEntities ent = new TimchurDatabaseEntities())
            {
                GenModel Res     = new GenModel();
                Users    use     = ent.Users.Where(x => x.IDCardNumber == User.Identity.Name).First();
                bool     f       = User.IsInRole("Admin");
                string   uni_fin = User.IsInRole("Admin") ? data.unit_field : use.UnitID.ToString();
                int      tem     = 0;
                if (uni_fin != null)
                {
                    tem = Int32.Parse(uni_fin);
                }
                int i;
                if (User.IsInRole("User"))
                {
                    if (data.clu_field == null && data.auc_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else if (data.clu_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int al = Int32.Parse(data.auc_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.Clusetrs.AuctionID == al && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else if (data.auc_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int cl = Int32.Parse(data.clu_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.ClusterID == cl && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int al = Int32.Parse(data.auc_field);
                        int cl = Int32.Parse(data.clu_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.Clusetrs.AuctionID == al && x.ClusterID == cl && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                }
                if (data.unit_field == null)
                {
                    if (data.clu_field == null && data.auc_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else if (data.clu_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int al = Int32.Parse(data.auc_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.Clusetrs.AuctionID == al && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else if (data.auc_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int cl = Int32.Parse(data.clu_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.ClusterID == cl && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int al = Int32.Parse(data.auc_field);
                        int cl = Int32.Parse(data.clu_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.Clusetrs.AuctionID == al && x.ClusterID == cl && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                }
                else
                {
                    if (data.clu_field == null && data.auc_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else if (data.clu_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int al = Int32.Parse(data.auc_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.Clusetrs.AuctionID == al && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else if (data.auc_field == null)
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int cl = Int32.Parse(data.clu_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.ClusterID == cl && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                    else
                    {
                        Res        = new GenModel();
                        Res.Status = "K";
                        Res.data   = new List <string[]>();
                        Res.data.Add(new string[] { "", "", "", "", "", "", "", "", "" });
                        i = 0;
                        int al = Int32.Parse(data.auc_field);
                        int cl = Int32.Parse(data.clu_field);
                        foreach (Tichurim tic in ent.Tichurim.Where(x => (f || x.StatusID == 1) && x.Clusetrs.AuctionID == al && x.ClusterID == cl && x.UnitID == tem && x.DateTimeCreated <to && x.DateTimeCreated> from).OrderBy(x => x.DateTimeCreated))
                        {
                            Res.data.Add(new string[] { i.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, tic.DateTimeCreated.Value.ToString(), tic.Statuses.Name });
                            i++;
                        }
                        return(Json(Res));
                    }
                }
            }
            return(Json(""));
        }
Ejemplo n.º 26
0
        public ActionResult GetByTichurNumber(TNData data)
        {
            using (TimchurDatabaseEntities ent = new TimchurDatabaseEntities())
            {
                Users  use     = ent.Users.Where(x => x.IDCardNumber == User.Identity.Name).First();
                bool   f       = User.IsInRole("Admin");
                string uni_fin = User.IsInRole("Admin") ? data.unit_field : use.UnitID.ToString();
                int    tem     = 0;
                if (uni_fin != null)
                {
                    tem = Int32.Parse(uni_fin);
                }
                if (tem == 0 || ent.Tichurim.Where(x => x.UnitID == tem && x.TichurNumber == data.id && (f || x.StatusID == 1)).Count() == 0)
                {
                    GenModel failRes = new GenModel();
                    failRes.data = new List <string[]>();
                    failRes.data.Add(new string[] { "תיחור אינו קיים בתוך השרת(או תחת היחידה הנתונה של המשתמש או שהוכנסה)" });
                    failRes.Status = "error";
                    return(Json(failRes));
                }

                if (!User.IsInRole("User"))
                {
                    if (data.unit_field == null)
                    {
                        GenModel failRes = new GenModel();
                        failRes.data = new List <string[]>();
                        failRes.data.Add(new string[] { "אנא בחר ערך בשדה יחידה" });
                        failRes.Status = "error";
                        return(Json(failRes));
                    }
                }

                Tichurim tic = ent.Tichurim.Where(x => x.UnitID == tem && x.TichurNumber == data.id && (f || x.StatusID == 1)).First();
                if (ent.UnitsAuctions.Where(x => x.UnitID == tem && x.AuctionID == tic.Clusetrs.AuctionID).Count() > 0)
                {
                    if (User.IsInRole("User"))
                    {
                        Cache.gen_lock.WaitOne();
                        ent.Tichurim.Where(x => x.UnitID == tem && x.TichurNumber == data.id && x.StatusID == 1).First().DateTimeSelected = DateTime.Now;
                        ent.SaveChanges();
                        Cache.gen_lock.ReleaseMutex();
                    }
                    tic = ent.Tichurim.Where(x => x.UnitID == tem && x.TichurNumber == data.id && (f || x.StatusID == 1)).First();
                    GenModel Res = new GenModel();
                    Res.Status = "K";
                    Res.data   = new List <string[]>();
                    Res.data.Add(new string[] { "מספר שורה", "מס' בתוצאת שליפה", "יחידה", "מס' מכרז", "שם מכרז", "תיחור", "מספר סל", "שם סל", "שם ספק", "ח.פ", "איש קשר", "אימייל", "טלפון", "תאריך ושעה" });
                    int i = 0;
                    foreach (SuppliersTichurim st in tic.SuppliersTichurim)
                    {
                        Suppliers sup = ent.Suppliers.Where(x => x.ID == st.SupplierID).First();
                        i++;
                        Res.data.Add(new string[] { i.ToString(), st.PositionInList.ToString(), tic.Units.Name, tic.Clusetrs.Auctions.AuctionNumber, tic.Clusetrs.Auctions.Name, tic.TichurNumber, tic.Clusetrs.DisplayNumber.Value.ToString(), tic.Clusetrs.Name, sup.Name, sup.CompanyNumber, sup.ContactName, sup.EmailAddress, sup.PhoneNumber, tic.DateTimeCreated.Value.ToString() });
                    }
                    return(Json(Res));
                }
                else
                {
                    GenModel failRes = new GenModel();
                    failRes.data = new List <string[]>();
                    failRes.data.Add(new string[] { "משתמש אינו רשאי לצפות בתיחור" });
                    failRes.Status = "error";
                    return(Json(failRes));
                }
            }
        }
Ejemplo n.º 27
0
        public void AddSupplierOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            SupplierFModel mf = ((SupplierFModel)SingletonCache.Instance().Storage[Context.User.Identity.Name]);

            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    if (mf.ActualEmail == null)
                    {
                        mf.supliers.EmailAddress = "";
                    }
                    else
                    {
                        mf.supliers.EmailAddress = mf.ActualEmail;
                    }

                    mf.supliers.PhoneNumber = mf.Prefix + mf.ActualNumber;
                    entity.Suppliers.Add(mf.supliers);
                    entity.SaveChanges();
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    string strm = mf.supliers.Name;
                    id = entity2.Suppliers.Where(x => x.Name == strm).First().ID;
                    if (mf.Limitions != null)
                    {
                        foreach (int i in mf.Limitions)
                        {
                            SuppliersClusetrs ua = new SuppliersClusetrs();
                            ua.ClusetrID            = i;
                            ua.SupplierID           = id;
                            ua.FormarLastTimeInList = new DateTime(2000, 1, 1);
                            ua.LastTimeInList       = new DateTime(2000, 1, 1);
                            ua.StatusID             = 1;
                            entity2.SuppliersClusetrs.Add(ua);
                        }
                    }
                    entity2.SaveChanges();
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,ספק נוספה למערכת";
            }
            catch (Exception e)
            {
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,הוספת ספק נכשלה";
            }
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }
Ejemplo n.º 28
0
        public void editSupplierOperation()
        {
            int?id = -1;

            Cache.gen_lock.WaitOne();
            SupplierFModel mf = ((SupplierFModel)SingletonCache.Instance().Storage[Context.User.Identity.Name]);

            try
            {
                using (TimchurDatabaseEntities entity = new TimchurDatabaseEntities())
                {
                    var original = entity.Suppliers.Find(mf.supliers.ID);


                    if (original != null)
                    {
                        if (mf.Limitions != null)
                        {
                            foreach (int i in mf.Limitions)
                            {
                                SuppliersClusetrs ua = new SuppliersClusetrs();
                                if (entity.SuppliersClusetrs.Where(x => x.ClusetrID == i && x.SupplierID == mf.supliers.ID).Count() > 0)
                                {
                                    entity.SuppliersClusetrs.Where(x => x.ClusetrID == i && x.SupplierID == mf.supliers.ID).First().StatusID = 1;
                                }
                                else
                                {
                                    ua.ClusetrID            = i;
                                    ua.SupplierID           = id;
                                    ua.FormarLastTimeInList = new DateTime(2000, 1, 1);
                                    ua.LastTimeInList       = new DateTime(2000, 1, 1);
                                    ua.StatusID             = 1;
                                    entity.SuppliersClusetrs.Add(ua);
                                }
                            }
                        }
                        foreach (SuppliersClusetrs sc in entity.SuppliersClusetrs.Where(x => !mf.Limitions.Contains(x.ClusetrID) && x.SupplierID == mf.supliers.ID))
                        {
                            sc.StatusID = 2;
                        }
                        if (mf.ActualEmail == null)
                        {
                            mf.supliers.EmailAddress = "";
                        }
                        else
                        {
                            mf.supliers.EmailAddress = mf.ActualEmail;
                        }

                        mf.supliers.PhoneNumber = mf.Prefix + mf.ActualNumber;
                        entity.Entry(original).CurrentValues.SetValues(((SupplierFModel)SingletonCache.Instance().Storage[Context.User.Identity.Name]).supliers);
                        entity.SaveChanges();
                    }
                }
                using (TimchurDatabaseEntities entity2 = new TimchurDatabaseEntities())
                {
                    int strm = mf.supliers.ID;
                    id = entity2.Suppliers.Where(x => x.ID == strm).First().ID;
                }
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,יחידה עודכה במערכת";
            }
            catch (Exception e)
            {
                SingletonCache.Instance().last_msg[Context.User.Identity.Name] = "בפעולה האחרונה,הוספת יחידה נכשלה במערכת";
            }
            Cache.gen_lock.ReleaseMutex();
            string str = Context.User.Identity.Name;
            string msg = "";

            if (SingletonCache.Instance().last_msg.Keys.Contains(str))
            {
                msg = SingletonCache.Instance().last_msg[str];
            }
            string to_s = string.Format("סטאטוס:" + msg);

            Clients.Caller.sendMessage(id.Value.ToString());
        }