public JsonResult DeleteReqTemplateLine([FromBody] SimplifiedReqTemplateLinesViewModel item)
        {
            if (item != null)
            {
                if (DBSimplifiedReqTemplateLines.Delete(item.ParseToDB()))
                {
                    item.eReasonCode = 1;
                    item.eMessage    = "Registo eliminado com sucesso.";
                }
                else
                {
                    item             = new SimplifiedReqTemplateLinesViewModel();
                    item.eReasonCode = 2;
                    item.eMessage    = "Ocorreu um erro ao eliminar o registo.";
                }
            }
            else
            {
                item             = new SimplifiedReqTemplateLinesViewModel();
                item.eReasonCode = 2;
                item.eMessage    = "Ocorreu um erro: a linha não pode ser nula.";
            }

            return(Json(item));
        }
 public JsonResult CreateReqTemplateLine([FromBody] SimplifiedReqTemplateLinesViewModel item)
 {
     if (item != null)
     {
         item.CreateUser = User.Identity.Name;
         var createdItem = DBSimplifiedReqTemplateLines.Create(item.ParseToDB());
         if (createdItem != null)
         {
             item             = createdItem.ParseToViewModel();
             item.eReasonCode = 1;
             item.eMessage    = "Registo criado com sucesso.";
         }
         else
         {
             item             = new SimplifiedReqTemplateLinesViewModel();
             item.eReasonCode = 2;
             item.eMessage    = "Ocorreu um erro ao criar o registo.";
         }
     }
     else
     {
         item             = new SimplifiedReqTemplateLinesViewModel();
         item.eReasonCode = 2;
         item.eMessage    = "A linha não pode ser nula.";
     }
     return(Json(item));
 }
        public JsonResult UpdateReqTemplateLines([FromBody] List <SimplifiedReqTemplateLinesViewModel> items)
        {
            ErrorHandler updateResponse = new ErrorHandler()
            {
                eReasonCode = 2,
                eMessage    = "Ocorreu um erro ao eliminar o registo.",
            };

            string reqTemplateId = string.Empty;

            if (items != null && items.Count > 0)
            {
                reqTemplateId = items.Select(x => x.RequisitionTemplateId).First();

                //Get existing lines from db
                var reqTemplateLines = DBSimplifiedReqTemplateLines.GetLinesForTemplate(reqTemplateId);
                if (reqTemplateLines != null)
                {
                    List <LinhasRequisiçõesSimplificadas> itemsToUpdate = new List <LinhasRequisiçõesSimplificadas>();

                    //Update existing
                    reqTemplateLines.ForEach(itemToUpdate =>
                    {
                        var item = items.SingleOrDefault(x => x.RequisitionTemplateId == itemToUpdate.NºRequisição &&
                                                         x.RequisitionTemplateLineId == itemToUpdate.NºLinha);

                        if (item != null)
                        {
                            //Update
                            itemToUpdate = item.ParseToDB();
                            itemToUpdate.UtilizadorModificação = User.Identity.Name;
                        }
                        itemsToUpdate.Add(itemToUpdate);
                    });

                    var updatedItems = DBSimplifiedReqTemplateLines.Update(itemsToUpdate);
                    if (updatedItems != null)
                    {
                        updateResponse.eReasonCode = 1;
                        updateResponse.eMessage    = "Linhas atualizadas com sucesso.";
                    }
                }
                else
                {
                    updateResponse.eMessage = "Ocorreu um erro ao obter as linhas.";
                }
            }
            else
            {
                updateResponse.eMessage = "Não existem linhas para atualizar.";
            }
            return(Json(updateResponse));
        }