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; }
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); } }
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(); } }