Ejemplo n.º 1
0
        public DataMappingModel GetData(CompanyModel company, UserModel user)
        {
            DataMappingModel model = new DataMappingModel();

            int lineNo = 0;

            foreach (var row in db.FindFileImportRows(company.Id, user.Id))
            {
                if (lineNo == 0)
                {
                    foreach (var field in row.FileImportFields)
                    {
                        model.Headings.Add(field.Value);
                    }
                }
                else
                {
                    var newRow = new FileImportRowModel();
                    foreach (var field in row.FileImportFields)
                    {
                        var newField = new FileImportFieldModel {
                            Value = (string.IsNullOrEmpty(field.Value) ? "" : field.Value)
                        };
                        newRow.Fields.Add(newField);
                    }
                    newRow.ErrorMessage = row.ErrorMessage;
                    model.Lines.Add(newRow);
                }
                lineNo++;
            }
            return(model);
        }
Ejemplo n.º 2
0
        public void InsertOrUpdateFileImportRow(FileImportRowModel row)
        {
            FileImportRow tempRow = null;

            if (row.Id != 0)
            {
                tempRow = db.FindFileImportRow(row.CompanyId, row.UserId, row.Id);
                if (tempRow == null)
                {
                    row.Id = 0;
                }
            }
            if (row.Id == 0)
            {
                // New row
                tempRow = new FileImportRow {
                    CompanyId  = row.CompanyId,
                    UserId     = row.UserId,
                    ProductId  = row.ProductId,
                    SupplierId = row.SupplierId
                };
                db.InsertOrUpdateFileImportRow(tempRow);
                row.Id = tempRow.Id;

                foreach (var field in row.Fields)
                {
                    var tempField = new FileImportField {
                        CompanyId       = row.CompanyId,
                        FileImportRowId = tempRow.Id,
                        Value           = field.Value
                    };
                    db.InsertOrUpdateFileImportField(tempField, false);
                }
                db.SaveChanges();
            }
            else
            {
                // Update existing row
                tempRow.ErrorMessage = row.ErrorMessage;
                tempRow.ProductId    = row.ProductId;
                tempRow.SupplierId   = row.SupplierId;
                db.InsertOrUpdateFileImportRow(tempRow);

                int fldNo = 0;
                foreach (var field in tempRow.FileImportFields)
                {
                    field.Value = row.Fields[fldNo].Value;
                    fldNo++;
                }
                db.InsertOrUpdateFileImportRow(tempRow);
            }
        }