Example #1
0
        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));
        }
Example #2
0
        //[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));
            }
        }
Example #3
0
        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);
            }
        }