private Task Save() { if (!ActionIdentifier.HasValue) { var action = new Business.Model.Action { Identifier = Guid.NewGuid(), DeviceIdentifier = SelectedDevice.Identifier, ActionTypeIdentifier = SelectedActionType.Identifer, ActionArgumentIdentifier = SelectedActionArgument.Identifer, ActionTrigger = SelectedActionTrigger }; _actionRepository.Add(action); ActionIdentifier = action.Identifier; } else { _actionUpdater.Update(ActionIdentifier.Value, SelectedDevice.Identifier, SelectedActionType.Identifer, SelectedActionArgument.Identifer, SelectedActionTrigger); } MessengerInstance.Send(new TasksUpdated()); return(Task.FromResult(true)); }
public HttpResponseMessage Update(Guid id, [FromBody] Business.Model.Action action) { var userClaims = Request.GetOwinContext().Authentication.User; var userId = Guid.Parse(userClaims.Claims.Single(x => x.Type == ClaimTypes.Sid).Value); _actionRepository.UpdateAction(id, userId, action.Quantity); return(Request.CreateResponse(HttpStatusCode.OK, _actionRepository.GetAction(id))); }
public void ActionsByInventarizationsWorks() { // DELETE FROM public."Tasks"; //DELETE FROM public."Users"; //DELETE FROM public."Actions"; //DELETE FROM public."Zones"; //DELETE FROM public."Inventorizations"; //DELETE FROM public."Companies" User user = userRepositoriy.CreateUser(new User() { FirstName = "test_name", FamilyName = "test_family", MiddleName = "test_middlename", Level = UserLevel.Scaner, CreatedAt = DateTime.UtcNow, Login = "******", Password = "******" }); Company company = companyRepositoriy.CreateCompany("Тест1"); Business.Model.Inventorization inventarisation = inventorizationRepositoriy.CreateInventorization(company.Id, DateTime.UtcNow); Guid firstActionId = Guid.NewGuid(); Guid secondActionId = Guid.NewGuid(); Business.Model.Action firstAction = new Business.Model.Action() { Id = firstActionId, DateTime = DateTime.UtcNow, Type = ActionType.FirstScan, UserId = user.Id, Inventorization = inventarisation.Id, BarCode = "1", Quantity = 1, }; Business.Model.Action secondAction = new Business.Model.Action() { Id = firstActionId, DateTime = DateTime.UtcNow, Type = ActionType.FirstScan, UserId = user.Id, Zone = inventarisation.Id, BarCode = "1", Quantity = 1, }; actionRepository.CreateAction(firstAction); actionRepository.CreateAction(secondAction); List <Business.Model.Action> actions = actionRepository.GetActionsByInventorization(inventarisation.Id); Assert.IsNotNull(actions); Assert.AreEqual(2, actions.Count()); actionRepository.DeleteAction(firstActionId); actionRepository.DeleteAction(secondActionId); inventorizationRepositoriy.DeleteInventorization(inventarisation.Id); companyRepositoriy.DeleteCompany(company.Id); userRepositoriy.DeleteUser(user.Id); }
public void CreateAction(Business.Model.Action action) { using (var conn = new NpgsqlConnection(_connectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand()) { cmd.Connection = conn; cmd.CommandText = "INSERT INTO public.\"Actions\"(\"Id\", \"DateTime\", \"Action\", \"UserId\", \"BarCode\", \"Zone\", \"Inventorization\", \"Quantity\") VALUES(:Id, :DateTime, :Action, :UserId, :BarCode, :Zone, :Inventorization, :Quantity)"; cmd.Parameters.Add(new NpgsqlParameter("Id", action.Id)); cmd.Parameters.Add(new NpgsqlParameter("DateTime", action.DateTime)); cmd.Parameters.Add(new NpgsqlParameter("Action", (int)action.Type)); cmd.Parameters.Add(new NpgsqlParameter("UserId", action.UserId)); cmd.Parameters.Add(new NpgsqlParameter("BarCode", action.BarCode)); cmd.Parameters.Add(new NpgsqlParameter("Zone", action.Zone)); cmd.Parameters.Add(new NpgsqlParameter("Inventorization", action.Inventorization)); cmd.Parameters.Add(new NpgsqlParameter("Quantity", action.Quantity)); cmd.ExecuteNonQuery(); } } }
public void UpdateAction(Business.Model.Action action) { using (var conn = new NpgsqlConnection(_connectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand()) { cmd.Connection = conn; cmd.CommandText = @"UPDATE public.""Actions"" SET ""DateTime""=@dateTime, ""UserId""=@userId, ""Quantity""=@quantity, ""BarCode""=@barCode, ""Zone""=@zone, ""Action""=@action WHERE ""Id"" = @id"; cmd.Parameters.Add(new NpgsqlParameter("id", action.Id)); cmd.Parameters.Add(new NpgsqlParameter("dateTime", DateTime.UtcNow)); cmd.Parameters.Add(new NpgsqlParameter("userId", action.UserId)); cmd.Parameters.Add(new NpgsqlParameter("quantity", action.Quantity)); cmd.Parameters.Add(new NpgsqlParameter("barCode", action.BarCode)); cmd.Parameters.Add(new NpgsqlParameter("action", (int)action.Type)); cmd.Parameters.Add(new NpgsqlParameter("zone", action.Zone)); cmd.ExecuteNonQuery(); } } }
public HttpResponseMessage SaveAction(Guid inventorization, [FromBody] SaveActionVM actionVM) { try { var userClaims = Request.GetOwinContext().Authentication.User; Business.Model.Action action = new Business.Model.Action() { Id = actionVM.Id.GetValueOrDefault(), BarCode = actionVM.BarCode == null ? string.Empty : actionVM.BarCode, DateTime = actionVM.DateTime.GetValueOrDefault(DateTime.UtcNow), Inventorization = inventorization, Quantity = actionVM.Quantity, Type = actionVM.Type, Zone = actionVM.Zone, UserId = Guid.Parse(userClaims.Claims.Single(x => x.Type == ClaimTypes.Sid).Value) }; Business.Model.Action updatedAction = actionDomain.UpsertAction(action); if (actionVM.Type != ActionType.BlindScan) { var inventarization = _inventorizationRepository.GetInventorization(inventorization); List <Item> items = _companyRepository.GetItems(inventarization.Company); Item foundItem = items.FirstOrDefault(x => x.Code == action.BarCode); return(Request.CreateResponse(HttpStatusCode.OK, new { foundItem, action = updatedAction })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new { ok = true, action = updatedAction })); } } catch (Exception ex) { string message = $"Create action error. Action:{Environment.NewLine} {JsonConvert.SerializeObject(actionVM)}"; _logger.Error(ex, message); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
private Task Save() { if (!ActionIdentifier.HasValue) { var action = new Business.Model.Action { Identifier = Guid.NewGuid(), DeviceIdentifier = SelectedDevice.Identifier, ActionTypeIdentifier = SelectedActionType.Identifer, ActionArgumentIdentifier = SelectedActionArgument.Identifer, ActionTrigger = SelectedActionTrigger }; _actionRepository.Add(action); ActionIdentifier = action.Identifier; } else { _actionUpdater.Update(ActionIdentifier.Value, SelectedDevice.Identifier, SelectedActionType.Identifer, SelectedActionArgument.Identifer, SelectedActionTrigger); } MessengerInstance.Send(new TasksUpdated()); return Task.FromResult(true); }