public void RejectWRO(Guid wroId) { using (var context = new SCMSEntities()) { using (TransactionScope scope = new TransactionScope()) { try { var wrnItems = context.WarehouseReleaseItems.Where(w => w.WarehouseReleaseId == wroId).ToList(); foreach (var wrnItem in wrnItems) { string itemCategory = context.Inventories.FirstOrDefault(p => p.Id == wrnItem.InventoryId).Item.ItemCategory.CategoryCode; if (itemCategory.Equals("A")) { wrnItem.Quantity = 1; Model.Asset ass = context.Assets.FirstOrDefault(p => p.Id == wrnItem.AssetId); ass.IsReleased = false; ass.CurrentOwnerId = null; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(ass, System.Data.EntityState.Modified); } Model.Inventory inv = context.Inventories.First(p => p.Id == wrnItem.InventoryId); inv.Quantity += (Int64)wrnItem.Quantity; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(inv, System.Data.EntityState.Modified); } context.SaveChanges(); SessionData.CurrentSession.ReleaseOrderList = null; SessionData.CurrentSession.ReleaseOrderItemList = null; SessionData.CurrentSession.AssetList = null; SessionData.CurrentSession.InventoryList = null; scope.Complete(); } catch (Exception ex) { scope.Dispose(); throw ex; } } } }
public bool IsROrderDeleted(Guid ROId) { using (var context = new SCMSEntities()) { var RO = context.WarehouseReleases.FirstOrDefault(p => p.Id == ROId); foreach (var item in RO.WarehouseReleaseItems) { string itemCategory = context.Inventories.FirstOrDefault(p => p.Id == item.InventoryId).Item.ItemCategory.CategoryCode; if (itemCategory.Equals("A")) { item.Quantity = 1; Model.Asset ass = context.Assets.FirstOrDefault(p => p.Id == item.AssetId); ass.IsReleased = false; ass.CurrentOwnerId = null; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(ass, System.Data.EntityState.Modified); } Model.Inventory inv = context.Inventories.First(p => p.Id == item.InventoryId); inv.Quantity += (Int64)item.Quantity; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(inv, System.Data.EntityState.Modified); } context.WarehouseReleases.Remove(RO); int affectedRecords = context.SaveChanges(); SessionData.CurrentSession.ReleaseOrderList = null; SessionData.CurrentSession.ReleaseOrderItemList = null; SessionData.CurrentSession.AssetList = null; SessionData.CurrentSession.InventoryList = null; return(affectedRecords > 0 ? true : false); } }
public bool IsWRNItemDeleted(Guid wrnItemId) { using (var context = new SCMSEntities()) { Model.WarehouseReleaseItem wrnitm = context.WarehouseReleaseItems.FirstOrDefault(p => p.Id == wrnItemId); string itemCategory = context.Inventories.FirstOrDefault(p => p.Id == wrnitm.InventoryId).Item.ItemCategory.CategoryCode; if (itemCategory.Equals("A")) { wrnitm.Quantity = 1; Model.Asset ass = context.Assets.FirstOrDefault(p => p.Id == wrnitm.AssetId); ass.IsReleased = false; ass.CurrentOwnerId = null; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(ass, System.Data.EntityState.Modified); } Model.Inventory inv = context.Inventories.First(p => p.Id == wrnitm.InventoryId); inv.Quantity += (Int64)wrnitm.Quantity; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(inv, System.Data.EntityState.Modified); context.WarehouseReleaseItems.Remove(wrnitm); int affectedColumns = context.SaveChanges(); SessionData.CurrentSession.ReleaseOrderList = null; SessionData.CurrentSession.ReleaseOrderItemList = null; SessionData.CurrentSession.AssetList = null; SessionData.CurrentSession.InventoryList = null; return(affectedColumns > 0 ? true : false); } }
protected void Awake() { _selectedButtonSprite = Resources.Load <Sprite>("UI/Textures/button_yellow_02"); _deselectedButtonSprite = Resources.Load <Sprite>("UI/Textures/button_brown_01"); _switchButtonTransforms.Add(ItemType.Equipment, equipmentsButton.button.GetComponent <RectTransform>()); _switchButtonTransforms.Add(ItemType.Consumable, consumablesButton.button.GetComponent <RectTransform>()); _switchButtonTransforms.Add(ItemType.Costume, costumesButton.button.GetComponent <RectTransform>()); _switchButtonTransforms.Add(ItemType.Material, materialsButton.button.GetComponent <RectTransform>()); consumablesButton.text.text = L10nManager.Localize("UI_CONSUMABLES"); consumablesButton.selectedText.text = L10nManager.Localize("UI_CONSUMABLES"); costumesButton.text.text = L10nManager.Localize("UI_COSTUME"); costumesButton.selectedText.text = L10nManager.Localize("UI_COSTUME"); equipmentsButton.text.text = L10nManager.Localize("UI_EQUIPMENTS"); equipmentsButton.selectedText.text = L10nManager.Localize("UI_EQUIPMENTS"); materialsButton.text.text = L10nManager.Localize("UI_MATERIALS"); materialsButton.selectedText.text = L10nManager.Localize("UI_MATERIALS"); SharedModel = new Model.Inventory(); SharedModel.State.Subscribe(SubscribeState).AddTo(gameObject); SharedModel.SelectedItemView.Subscribe(SubscribeSelectedItemView).AddTo(gameObject); scroll.OnClick .Subscribe(cell => SharedModel.SubscribeItemOnClick(cell.View)) .AddTo(gameObject); scroll.OnDoubleClick .Subscribe(cell => { SharedModel.DeselectItemView(); OnDoubleClickItemView.OnNext(cell.View); }) .AddTo(gameObject); consumablesButton.button.OnClickAsObservable().Subscribe(_ => { AudioController.PlayClick(); SharedModel.State.Value = ItemType.Consumable; }).AddTo(gameObject); costumesButton.button.OnClickAsObservable().Subscribe(_ => { AudioController.PlayClick(); SharedModel.State.Value = ItemType.Costume; }).AddTo(gameObject); equipmentsButton.button.OnClickAsObservable().Subscribe(_ => { AudioController.PlayClick(); SharedModel.State.Value = ItemType.Equipment; }).AddTo(gameObject); materialsButton.button.OnClickAsObservable().Subscribe(_ => { AudioController.PlayClick(); SharedModel.State.Value = ItemType.Material; }).AddTo(gameObject); }
public InventoryControl(Model.Inventory I) { InitializeComponent(); IEnumerable <UserControl> items = I.InventorySet.Select(x => x.Generator.generate(x)); items.Select(x => x.Anchor = AnchorStyles.Left); items.Select(x => x.Parent = ItemPanel); }
public bool IsAssetRegistered(Model.Asset assetEntity) { using (var context = new SCMSEntities()) { using (TransactionScope scope = new TransactionScope()) { try { assetEntity.IsAssigned = false; assetEntity.Id = Guid.NewGuid(); //if (assetEntity.UseLifeSpan) // assetEntity.DepreciationType = "Straight Line"; context.Assets.Add(assetEntity); if (context.Inventories.Count(p => p.ItemId == assetEntity.ItemId && p.WareHouseId == assetEntity.CurrentWareHouseId) > 0) { Model.Inventory invt = context.Inventories.FirstOrDefault(p => p.ItemId == assetEntity.ItemId && p.WareHouseId == assetEntity.CurrentWareHouseId); invt.Quantity += 1; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(invt, System.Data.EntityState.Modified); } else { Model.Inventory newinvetoryEntity = new Model.Inventory() { Id = Guid.NewGuid(), ItemId = (Guid)assetEntity.ItemId, Quantity = 1, CountryProgrammeId = assetEntity.CountryProgramId, WareHouseId = (Guid)assetEntity.CurrentWareHouseId }; context.Inventories.Add(newinvetoryEntity); } if (assetEntity.IsFleet) { SessionData.CurrentSession.FleetDetailsList = null; context.FleetDetails.Add(new FleetDetail() { Id = Guid.NewGuid(), CountryProgrammeId = assetEntity.CountryProgramId, AssetId = assetEntity.Id, IssueDate = DateTime.Now }); } if (assetEntity.DepreciationType == "Zero Percentage") { if (!(context.SaveChanges() > 0)) { scope.Dispose(); return(false); } else { scope.Complete(); return(true); } } else { assetEntity.DepreciationPeriods = assetEntity.Lifespan * 12; } return(this.IsDepreciationComputed(context, scope, assetEntity)); } catch (Exception ex) { scope.Dispose(); throw ex; } } } }
public ActionResult LoadEditConsumables(Guid iventId) { Model.Inventory model = SessionData.CurrentSession.InventoryList.FirstOrDefault(p => p.Id == iventId); model.Items = new SelectList(ORService.GetItems("C"), "Id", "Name"); model.Inventories = invetService.GetInventoryList(categoryCode: "C"); model.Warehouses = new SelectList(SessionData.CurrentSession.WarehouseList, "Id", "Name"); ViewBag.Action = "EditInventory"; return(View("LoadOtherConsumables", model)); }
public bool IsGRNVerified(GoodsReceivedNote GRNentity) { using (var context = new SCMSEntities()) { using (TransactionScope scope = new TransactionScope()) { foreach (GoodsReceivedNoteItem item in GRNentity.ItemColl) { GoodsReceivedNoteItem grit = context.GoodsReceivedNoteItems.FirstOrDefault(p => p.Id == item.Id); if (context.Inventories.Count(p => p.ItemId == grit.PurchaseOrderItem.Item.Id && p.WareHouseId == grit.GoodsReceivedNote.WareHouseId) > 0) { if (grit.PurchaseOrderItem.Item.ItemCategory.CategoryCode == "C") { Model.Inventory invt = context.Inventories.FirstOrDefault(p => p.ItemId == grit.PurchaseOrderItem.Item.Id && p.WareHouseId == grit.GoodsReceivedNote.WareHouseId); invt.Quantity += (long)item.QuantityDelivered; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(invt, System.Data.EntityState.Modified); } } else { long qty = 0; if (grit.PurchaseOrderItem.Item.ItemCategory.CategoryCode == "C") { qty = (long)item.QuantityDelivered; } Model.Inventory newinvetoryEntity = new Model.Inventory() { Id = Guid.NewGuid(), ItemId = grit.PurchaseOrderItem.Item.Id, Quantity = qty, CountryProgrammeId = GRNentity.CountryProgrammeId, WareHouseId = (Guid)grit.GoodsReceivedNote.WareHouseId }; context.Inventories.Add(newinvetoryEntity); } Model.GoodsReceivedNoteItem grnitm = context.GoodsReceivedNoteItems.FirstOrDefault(p => p.Id == item.Id); grnitm.QuantityDamaged = item.QuantityDamaged; grnitm.QuantityDelivered = item.QuantityDelivered; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(grnitm, System.Data.EntityState.Modified); context.SaveChanges(); } Model.GoodsReceivedNote grn = context.GoodsReceivedNotes.FirstOrDefault(p => p.Id == GRNentity.Id); grn.Verified = true; grn.ApprovedOn = DateTime.Now; grn.ReceptionApprovedBy = GRNentity.ReceptionApprovedBy; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(grn, System.Data.EntityState.Modified); if (context.SaveChanges() > 0) { scope.Complete(); return(true); } else { scope.Dispose(); return(false); } } } }
public ActionResult EditInventory(Model.Inventory model) { using (var context = new SCMSEntities()) { context.Inventories.Attach(model); ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(model, System.Data.EntityState.Modified); context.SaveChanges(); ModelState.Clear(); SessionData.CurrentSession.InventoryList = null; return(LoadOtherConsumables()); } }
public ActionResult IsQtyenough(Model.CheckAvailableQty bc) { if (bc.assetid != null) { if (SessionData.CurrentSession.AssetList.FirstOrDefault(p => p.Id == bc.assetid).IsReleased) { ViewBag.Html = "0~ " + Resources.WRFormController_String_ItemAlreadyReleased; return(View("HTMLResponses")); } } Model.Inventory entity = SessionData.CurrentSession.InventoryList.First(p => p.Id == bc.InventoryId); ViewBag.Html = bc.releasedQty <= entity.Quantity ? "1" : "0~ " + string.Format(Resources.WRFormController_String_ItemsLeftInStock, (Int64)entity.Quantity, entity.Item.Name); return(View("HTMLResponses")); }
public bool IsAssetDisposed(Model.Asset AssetEntity) { using (var context = new SCMSEntities()) { Model.Asset aset = context.Assets.FirstOrDefault(p => p.Id == AssetEntity.Id); aset.IsDesposed = true; aset.ActionType = AssetEntity.ActionType; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(aset, System.Data.EntityState.Modified); Model.Inventory inv = context.Inventories.FirstOrDefault(p => p.ItemId == aset.ItemId & p.WareHouseId == aset.CurrentWareHouseId); inv.Quantity -= 1; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(inv, System.Data.EntityState.Modified); return(context.SaveChanges() > 0 ? true : false); } }
public View.Inventory Build(Model.Inventory inventory) { List <View.InventoryItem> inventoryItems = new List <View.InventoryItem>(); if (inventory.InventoryItems != null) { inventoryItems = inventory.InventoryItems.Select(x => inventoryItemViewBuilder.Build(x)).ToList(); } return(new View.Inventory { InventoryGuid = inventory.InventoryGuid, Organization = inventory.Organization == null ? null : organizationViewBuilder.Build(inventory.Organization), InventoryItems = inventoryItems, CreatedOn = inventory.CreatedOn.ToString(), UpdatedOn = inventory.UpdatedOn.ToString() }); }
public ActionResult SaveOtherConsumables(Model.Inventory model) { model.CountryProgrammeId = countryProg.Id; if (!gRNService.IsInventoryUpdated(model)) { ViewBag.Response = 0; ViewBag.Action = "SaveOtherConsumables"; ViewBag.msg = Resources.Global_String_AnErrorOccurred; model.Items = new SelectList(ORService.GetItems(), "Id", "Name"); return(View("LoadOtherConsumables", model)); } ViewBag.Response = 1; ViewBag.msg = Resources.Global_String_ProcessCompleted; ModelState.Clear(); SessionData.CurrentSession.InventoryList = null; return(LoadOtherConsumables()); }
private bool AddItems(Model.WarehouseRelease wrEntity, Model.WarehouseReleaseItem entity, SCMSEntities context, TransactionScope scope, bool sendmail = false) { string itemCategory = context.Inventories.FirstOrDefault(p => p.Id == entity.InventoryId).Item.ItemCategory.CategoryCode; if (wrEntity == null) { wrEntity = context.WarehouseReleases.FirstOrDefault(w => w.Id == entity.WarehouseReleaseId); } entity.Id = Guid.NewGuid(); if (itemCategory.Equals("C")) { entity.AssetId = Guid.Empty; context.WarehouseReleaseItems.Add(entity); } else { entity.Quantity = 1; Model.Asset ass = context.Assets.FirstOrDefault(p => p.Id == entity.AssetId); ass.IsReleased = true; ass.CurrentOwnerId = wrEntity.ReceivedBy; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(ass, System.Data.EntityState.Modified); context.WarehouseReleaseItems.Add(entity); } Model.Inventory inv = context.Inventories.First(p => p.Id == entity.InventoryId); inv.Quantity -= (Int64)entity.Quantity; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(inv, System.Data.EntityState.Modified); if ((context.SaveChanges() > 0)) { SessionData.CurrentSession.ReleaseOrderList = null; SessionData.CurrentSession.ReleaseOrderItemList = null; SessionData.CurrentSession.AssetList = null; SessionData.CurrentSession.InventoryList = null; if (sendmail) { NotificationServicee.SendNotification(NotificationServicee.GetApproverEmailAddress(1, NotificationHelper.wrnCode), NotificationHelper.wrnMsgBody, NotificationHelper.wrnsubject); } scope.Complete(); return(true); } else { scope.Dispose(); return(false); } }
public bool IsInventoryUpdated(Inventory InventEntity) { using (var context = new SCMSEntities()) { if (context.Inventories.Count(p => p.ItemId == InventEntity.ItemId && p.WareHouseId == InventEntity.WareHouseId) > 0) { Model.Inventory invt = context.Inventories.FirstOrDefault(p => p.ItemId == InventEntity.ItemId && p.WareHouseId == InventEntity.WareHouseId); invt.Quantity += (long)InventEntity.Quantity; ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(invt, System.Data.EntityState.Modified); } else { Model.Inventory newinvetoryEntity = new Model.Inventory() { Id = Guid.NewGuid(), ItemId = InventEntity.ItemId, Quantity = (long)InventEntity.Quantity, CountryProgrammeId = InventEntity.CountryProgrammeId, WareHouseId = InventEntity.WareHouseId }; context.Inventories.Add(newinvetoryEntity); } return(context.SaveChanges() > 0 ? true : false); } }
public static ViewWayBill prepareWB(Guid wbId) { using (var db = new SCMSEntities()) { WayBill entitymodel = db.WayBills.First(p => p.Id == wbId); ViewWayBill model = new ViewWayBill(); model.EntityWBill = entitymodel; WarehouseRelease wrn = model.EntityWBill.WarehouseRelease; model.issuer = db.VStaffDetails.FirstOrDefault(p => p.StaffID == entitymodel.PreparedBy); model.consignee = db.VStaffDetails.FirstOrDefault(p => p.StaffID == entitymodel.Consignee); model.ReceivedBy = db.VStaffDetails.FirstOrDefault(p => p.StaffID == entitymodel.ReceivedBy); model.OrrignWH = db.WareHouses.FirstOrDefault(p => p.Id == entitymodel.IssuerWarehouse); model.destinationWH = db.WareHouses.FirstOrDefault(p => p.Id == entitymodel.DestinationWarehouse); model.DestnationOfiice = db.CountrySubOffices.FirstOrDefault(p => p.Id == entitymodel.DestinationOffice); Model.Location loc = model.destinationWH.Location; Model.CountrySubOffice cso = model.destinationWH.CountrySubOffice; model.OrignSOfiice = db.CountrySubOffices.First(p => p.Id == entitymodel.IssuingOffice); Model.Location l = model.OrignSOfiice.Location; Model.Location lok = model.DestnationOfiice.Location; List <WarehouseReleaseItem> writems = entitymodel.WarehouseRelease.WarehouseReleaseItems.ToList(); foreach (WarehouseReleaseItem item in writems) { Model.Inventory inv = item.Inventory; Model.Item it = inv.Item; Model.ItemCategory ic = it.ItemCategory; Model.UnitOfMeasure u = it.UnitOfMeasure; Model.Asset ast = item.Asset; } model.WRItems = writems; //dummies var person = entitymodel.Staff.Person; if (entitymodel.Staff1 != null) { person = entitymodel.Staff1.Person; } return(model); } }
public ActionResult WBReceive() { using (var db = new SCMSEntities()) { WarehouseRelease wrn = db.WarehouseReleases.FirstOrDefault <WarehouseRelease>(); List <WarehouseReleaseItem> itmz = wrn != null?wrn.WarehouseReleaseItems.ToList() : new List <WarehouseReleaseItem>(); foreach (WarehouseReleaseItem item in itmz) { Model.Inventory iv = item.Inventory; Model.Item it = iv.Item; Model.ItemCategory itc = it.ItemCategory; Model.Asset ast = item.Asset; Model.UnitOfMeasure u = it.UnitOfMeasure; } //Use this to populate items on load for any changes in the stolen code //WayBill wb = db.WayBills.First(p => p.Id == new Guid("0D88562F-BBEC-4722-941B-91FC4D82BB1C")); //List<WarehouseReleaseItem> wrnn = db.WarehouseReleases.FirstOrDefault(p => p.Id == wb.WRNId).WarehouseReleaseItems.ToList(); //foreach (WarehouseReleaseItem item in wrnn) //{ // Model.Asset ass = item.Asset; // Model.Inventory iv = item.Inventory; // Model.Item it = iv.Item; // Model.ItemCategory ic = it.ItemCategory; // Model.UnitOfMeasure u = it.UnitOfMeasure; //} var model = new ReceiveWB() { EntityWBill = new WayBill(), IssuingOffice = new SelectList(WBService.GetSubOffices(countryProg.Id), "Id", "Name"), WBlist = new SelectList(WBService.GetWayBillsNotReceived(countryProg.Id), "Id", "RefNumber"), WRItems = new List <WarehouseReleaseItem>()//wrnn }; return(View(model)); } }
internal virtual void AddInventory(smART.Model.ScaleDetails modelScaleDetails, smART.Model.smARTDBContext dbContext) { try { //If status is close then add inventory record if (modelScaleDetails.Scale != null && modelScaleDetails.Scale.Ticket_Status.ToLower().Equals("close") && modelScaleDetails.Apply_To_Item != null) { decimal qty = 0; decimal oldNetWeight = 0; decimal newCurrentBalance = 0; //Get all scale inventory item by ticket id & item id IQueryable <smART.Model.Inventory> inventories = dbContext.Set <smART.Model.Inventory>().AsQueryable().Where(i => i.Scale_Ticket_ID.ID == modelScaleDetails.Scale.ID && i.Item_ID.ID == modelScaleDetails.Apply_To_Item.ID && i.Trans_Type == "Scale ticket" && i.Active_Ind == true); //Get current balance from Item Master smART.Model.Item item = dbContext.M_Item.FirstOrDefault(i => i.ID == modelScaleDetails.Apply_To_Item.ID); oldNetWeight = modelScaleDetails.Old_Net_Weight; if (item != null) { newCurrentBalance = item.Current_Balance; smART.Model.Inventory newInventory = new Model.Inventory(); //If item inventory exists then add diffrence inventory entry if (inventories != null && inventories.Count() >= 1) { //Check item inventory already exist with same scale ticket. smART.Model.Inventory inventory = inventories.FirstOrDefault(); //Same item update with same qty. if (modelScaleDetails.NetWeight == oldNetWeight) { return; } if (modelScaleDetails.NetWeight > oldNetWeight) { newInventory.Impact = "Add"; qty = modelScaleDetails.NetWeight - oldNetWeight; newCurrentBalance += qty; } else { newInventory.Impact = "Subtract"; qty = oldNetWeight - modelScaleDetails.NetWeight; newCurrentBalance -= qty; } } //If item inventory not exists then add item inventory entry else { qty = modelScaleDetails.NetWeight; if (modelScaleDetails.Scale.Ticket_Type.ToLower().Equals("receiving ticket")) { newInventory.Impact = "Add"; newCurrentBalance += qty; } else { newInventory.Impact = "Subtract"; newCurrentBalance -= qty; } } newInventory.Created_By = modelScaleDetails.Created_By; newInventory.Created_Date = modelScaleDetails.Created_Date; newInventory.Item_ID = modelScaleDetails.Apply_To_Item; newInventory.Party_ID = modelScaleDetails.Scale.Party_ID; newInventory.Quantity = qty; newInventory.Scale_Ticket_ID = modelScaleDetails.Scale; newInventory.Trans_Date = DateTime.Now; newInventory.Trans_Type = "Scale ticket"; newInventory.Active_Ind = true; newInventory.Balance = newCurrentBalance; dbContext.T_Inventory.Add(newInventory); //Update Item current balance in Item Master item.Current_Balance = newCurrentBalance; item.Last_Updated_Date = DateTime.Now; item.Updated_By = modelScaleDetails.Updated_By; dbContext.Entry <smART.Model.Item>(item); } } } catch (Exception ex) { bool rethrow; rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, modelScaleDetails.Updated_By, modelScaleDetails.GetType().Name, modelScaleDetails.ID.ToString()); if (rethrow) { throw ex; } } }
public virtual IComponentView generate(Model.Inventory comp) => new InventoryView(comp);
private void OnDestroy() { SharedModel.Dispose(); SharedModel = null; }
public async Task <IActionResult> Sync([FromBody] View.Device request) { var client = await GetClient(); var organization = client.Organization; if (client.Role != "AppAdmin" && client.Role != "OrgAdmin") { throw new BadRequestException("Client", "Client does not have permission to access this resource."); } if (client.Role == "AppAdmin") { if (request == null || string.IsNullOrEmpty(request.Organization.OrganizationGuid)) { throw new BadRequestException("Organization", "Please provice an organization to continue."); } var appAdminOrganization = await db.Organizations.FirstOrDefaultAsync(x => x.OrganizationGuid == request.Organization.OrganizationGuid); if (appAdminOrganization == null) { throw new BadRequestException("Organization", "Organization does not exist."); } organization = appAdminOrganization; } if (string.IsNullOrEmpty(request.DeviceName)) { throw new BadRequestException("deviceName", "Device name required to complete request"); } var syncdDevicesCount = await db.Devices.Where(x => x.Organization == organization).CountAsync(); var maxDevicesCount = organization.MaxDevices; if (syncdDevicesCount >= maxDevicesCount) { throw new BadRequestException("Organization", "Maximum devices synced according to license."); } var deviceNameExists = await db.Devices .AnyAsync(x => x.DeviceName == request.DeviceName && x.Organization == organization); if (deviceNameExists) { throw new BadRequestException("deviceName", "Device already exists with that name"); } var deviceGuid = Guid.NewGuid(); var password = passwordService.GenerateSecurePassword(); var identity = new Identity { UserName = deviceGuid.ToString(), Email = string.Format("{0}@{0}.com", deviceGuid.ToString()) }; var result = await identityManager.CreateAsync(identity, password); if (!result.Succeeded) { throw new BadRequestException("Device", "Unable to sync device"); } try { List <Model.InventoryItem> inventoryItems = await db.OrganizationItems .Where(x => x.Organization == organization) .Select(x => new Model.InventoryItem { Item = x.Item, Quantity = 0 }).ToListAsync(); var inventory = new Model.Inventory { Organization = organization, InventoryItems = inventoryItems }; var device = new Model.Device { DeviceGuid = deviceGuid.ToString(), Organization = organization, Inventory = inventory, DeviceName = request.DeviceName }; db.Devices.Add(device); await db.SaveChangesAsync(); var deviceView = deviceViewBuilder.Build(device); deviceView.Password = password; return(StatusCode(200, deviceView)); } catch { await identityManager.DeleteAsync(identity); throw new BadRequestException("Device", "Unable to sync device"); } }
public int InventoryUpt(Model.Inventory Model) { throw new NotImplementedException(); }