Пример #1
0
        public Model.User AddNewUser(Model.User user)
        {
            var ctx = new PcPoolEntities();

            try
            {
                var newUser = ctx.Users.Add(new PcPoolModels.User()
                {
                    UserTypeID  = (int)UserType.User,
                    LastName    = user.LastName,
                    FirstName   = user.FirstName,
                    UserName    = user.UserName,
                    Title       = user.Title,
                    Address     = user.Address,
                    Designation = user.Designation,
                    Email       = user.Email,
                    //Password = user.Password
                });
                ctx.SaveChanges();
                return(ConvertToModel(newUser));
            }
            catch (Exception ex)
            {
                return(null);
            }
            //return true;
        }
Пример #2
0
        static void Main(string[] args)
        {
            var pc   = new PcPoolEntities();
            var user = new PcPoolModels.User()
            {
                FirstName = "23"
            };

            pc.Users.Add(user);
            pc.SaveChanges();
        }
        private static bool UpdateDeviceStatus(DeviceStatus newStatus, PcPoolModels.DeviceInstance device, PcPoolEntities ctx, int userId)
        {
            if (newStatus == DeviceStatus.Loaned)
            {
                var inventoryStatProvider = new InventoryStatProvide();
                var result = inventoryStatProvider.ReserveDevices(device.DeviceTypeID, 1, userId, true);
                if (!result.IsPossible)
                {
                    return(false);
                }
                device.DeviceStatusID = (int)newStatus;

                var reservation =
                    ctx.ReservationLists.FirstOrDefault(
                        rl =>
                        rl.UserID == userId && rl.DeviceTypeID == device.DeviceTypeID &&
                        rl.EndDate > DateTime.UtcNow);
                if (reservation != null | reservation.Amount != 0)
                {
                    reservation.Amount -= 1;
                    ctx.ReservationLists.Attach(reservation);
                    ctx.Entry(reservation).State = EntityState.Modified;

                    ctx.DeviceInstances.Attach(device);
                    ctx.Entry(device).State = EntityState.Modified;
                    ctx.SaveChanges();
                }
            }
            else
            {
                device.DeviceStatusID = (int)newStatus;
                ctx.DeviceInstances.Attach(device);
                ctx.Entry(device).State = EntityState.Modified;
                ctx.SaveChanges();
            }
            return(true);
        }
        public bool AddnewItemType(DeviceType newType)
        {
            var ctx     = new PcPoolEntities();
            var dbModel = new PcPoolModels.DeviceType()
            {
                DevicaeName       = newType.DeviceName,
                DeviceDescription = newType.Description,
                DeviceModel       = newType.Model,
                DeviceVersion     = newType.Version
            };

            ctx.DeviceTypes.Add(dbModel);
            ctx.SaveChanges();
            return(true);
        }
        public bool AddnewItem(DeviceInstance deviceInstance)
        {
            var ctx = new PcPoolEntities();

            try
            {
                ctx.DeviceInstances.Add(new PcPoolModels.DeviceInstance()
                {
                    DeviceTypeID      = deviceInstance.DeviceTypeId,
                    Description       = deviceInstance.Description,
                    DescriptionTitle  = deviceInstance.DescriptionTitle,
                    SeriaNo           = deviceInstance.SeriaNo,
                    RFID              = deviceInstance.RFID,
                    DeviceStatusID    = (int)deviceInstance.DeviceStatus,
                    ManufacturingYear = deviceInstance.ManufacturingYear
                });
                ctx.SaveChanges();
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
        public ReservationResult ReserveDevices(int deviceTypeId, int amount, int userId = -1, bool checkOnly = false)
        {
            using (var ctx = new PcPoolEntities())
            {
                var inStock = ctx.
                              DeviceInstances.
                              Count(di => di.DeviceTypeID == deviceTypeId &&
                                    di.DeviceStatusID.Value == (int)DeviceStatus.InStock);

                var reserved = GetNumberOfReservedDevices(deviceTypeId, ctx, userId);

                var availableDevices = inStock - reserved;
                var result           = new ReservationResult()
                {
                    IsPossible = availableDevices >= amount,
                    NumberOfAvailableDevice = availableDevices > 0 ? availableDevices : 0
                };

                if (!result.IsPossible || checkOnly)
                {
                    return(result);
                }
                ctx.ReservationLists.Add(new PcPoolModels.ReservationList

                {
                    UserID       = LoggedInUserData.UserId,
                    DeviceTypeID = deviceTypeId,
                    Amount       = amount,
                    StartDate    = DateTime.UtcNow,
                    EndDate      = DateTime.UtcNow.AddDays(7)
                });

                ctx.SaveChanges();
                return(result);
            }
        }
Пример #7
0
        public void ChangeUserType(int userId)
        {
            using (var ctx = new PcPoolEntities())
            {
                var user = ctx.Users.FirstOrDefault(u => u.UserID == userId);
                if (user == null)
                {
                    return;
                }
                switch (user.UserTypeID)
                {
                case (int)UserType.Admin:
                    user.UserTypeID = (int)UserType.User;
                    break;

                case (int)UserType.User:
                    user.UserTypeID = (int)UserType.Admin;
                    break;
                }
                ctx.Users.Attach(user);
                ctx.Entry(user).State = EntityState.Modified;
                ctx.SaveChanges();
            }
        }