public async Task <IActionResult> OpIn([FromRoute] Guid uid, [FromBody] invops_in varinvops_in) { TerminalMessage result = new TerminalMessage(); result.message = await _terminalService.Operation_in(uid, varinvops_in); return(Ok(result)); }
//[AllowAnonymous] public async Task <IActionResult> Postinvops_in([FromBody] invops_in varinvops_in) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string result = ""; var uid = User.GetUserId(); result = await _terminalService.Operation_in(uid, varinvops_in); if (result == "OK") { return(CreatedAtAction("Getinvops_in", new { id = varinvops_in.invops_inId }, varinvops_in)); } else { return(BadRequest(result)); } }
public async Task <string> Operation_in(Guid uid, invops_in varinvops_in) { string result = ""; invp_data m = null; invp_tag t; t = _context.invp_tag.FirstOrDefault(t => t.RFID == varinvops_in.rfid); if (t == null) { // result = "Метка не зарегистрирована. "; } if (t != null) { m = _context.invp_data.FirstOrDefault(z => z.invp_dataId == t.invp_dataId); if (m == null) { result += "Запчасть не обнаружена. "; } } else { m = _context.invp_data.FirstOrDefault(z => z.invp_dataId == varinvops_in.thePart); if (m == null) { result = "Запчасть не обнаружена. "; } } invwh_cell c = null; c = _context.invwh_cell.FirstOrDefault(cc => cc.SHCODE == varinvops_in.shCode); if (c == null) { result += "Ячейка не найдена. "; } invd_op op = _context.invd_op.FirstOrDefault(op => op.name == "Приемка"); if (op == null) { //result += "Нет операции 'Приемка' в справочнике. "; op = new invd_op(); op.invd_opId = Guid.NewGuid(); op.name = "Приемка"; _context.invd_op.Add(op); await _context.SaveChangesAsync(); } if (varinvops_in.quantity <= 0) { result += "Количество должно быть положительным числом. "; } if (m != null && c != null && varinvops_in.quantity > 0) { if (t == null) { t = new invp_tag(); t.invp_dataId = m.invp_dataId; t.RFID = varinvops_in.rfid; _context.invp_tag.Add(t); } invwh_loc loc = null; loc = _context.invwh_loc.FirstOrDefault(l => l.invwh_locId == c.invwh_locId); invw_info e = null; { e = new invw_info(); e.invw_infoId = Guid.NewGuid(); e.Qty = varinvops_in.quantity; e.storepartid = m.invp_dataId; e.locationid = c.invwh_locId; e.cellid = c.invwh_cellId; e.RFID = varinvops_in.rfid; if (loc != null) { e.theStore = loc.theStore; } _context.invw_info.Add(e); } // save history invm_info h = new invm_info(); h.invm_infoId = Guid.NewGuid(); h.fromcell = Guid.Empty; h.toCell = c.invwh_cellId; h.theUser = uid; h.theOP = op.invd_opId; h.optime = DateTime.Now; h.Qty = varinvops_in.quantity; h.storepartid = m.invp_dataId; // запчасть h.theDep = Guid.Empty; _context.invm_info.Add(h); // save operation for control only _context.invops_in.Add(varinvops_in); await _context.SaveChangesAsync(); return("OK"); } else { _context.invops_in.Add(varinvops_in); await _context.SaveChangesAsync(); return(result); } }