예제 #1
0
        public static ResponseObject <BankData[]> List(RequestEmpty request)
        {
            var response = new ResponseObject <BankData[]>();

            if (RequestsExtensions.IsValid(request, response))
            {
                using (var db = new DataBase())
                {
                    try
                    {
                        db.AddParameter("request", SqlDbType.Xml, request.ToRequestEmpty());
                        db.AddParameter("done", SqlDbType.Bit, ParameterDirection.Output);

                        db.FillDataTable(response, "SP_SOCIOS_LISTA", (dt) =>
                        {
                            if (Convert.ToBoolean(db.GetParameter("done")))
                            {
                                response.Result   = Common.Populate <BankData>(dt);
                                response.CodeName = (response.Result.Length > 0) ? Codes.Found : Codes.NotFound;
                            }
                            else
                            {
                                response = Common.Populate <ResponseEmpty>(dt).First().ToResponseObject <BankData[]>();
                            }
                        });
                    }
                    catch (Exception ex)
                    {
                        response.ConfigureAndLog("Ha ocurrido un error al listar los socios.", 1500, ex);
                    }
                }
            }

            return(response);
        }
예제 #2
0
        public static ResponseObject <TranData> TranSubmit(RequestObject <TranSubmit> request)
        {
            var response = new ResponseObject <TranData>();

            if (RequestsExtensions.IsValid(request, response))
            {
                if (!Validators.IsGuid(request.Content.BankID))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el ID de la cuenta.", 1410);
                }
                else if (string.IsNullOrWhiteSpace(request.Content.TypeID))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el Tipo de la Transacción.", 1412);
                }
                else if (!request.Content.EventDate.HasValue)
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar la Fecha de la Transacción.", 1414);
                }
                else if (!request.Content.Amount.HasValue || request.Content.Amount < 0)
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el Importe de la Transacción.", 1416);
                }
                else if (string.IsNullOrWhiteSpace(request.Content.Description))
                {
                    response.Configure(Codes.BadRequest, "Favor de especifica la descripción de la cuenta", 1418);
                }
                else
                {
                    using (var db = new DataBase())
                    {
                        try
                        {
                            db.AddParameter("request", SqlDbType.Xml, request.ToRequestEmpty());
                            db.AddParameter("content", SqlDbType.Xml, request.Content);
                            db.AddParameter("done", SqlDbType.Bit, ParameterDirection.Output);

                            db.FillDataTable(response, "adm.SP_BANCO_TRANSACCION_INSERTA", (dt) =>
                            {
                                if (Convert.ToBoolean(db.GetParameter("done")))
                                {
                                    response.Result   = Common.Populate <TranData>(dt).First();
                                    response.CodeName = Codes.OK;
                                }
                                else
                                {
                                    response = Common.Populate <ResponseEmpty>(dt).First().ToResponseObject <TranData>();
                                }
                            });
                        }
                        catch (Exception ex)
                        {
                            response.ConfigureAndLog("Ha ocurrido un error al registrar un movimiento de la cuenta bancaría.", 1500, ex);
                        }
                    }
                }
            }

            return(response);
        }
예제 #3
0
        public static ResponseObject <TranData[]> TranList(RequestObject <TranFilter> request)
        {
            var response = new ResponseObject <TranData[]> {
                Result = new TranData[0]
            };

            if (RequestsExtensions.IsValid(request, response))
            {
                if (!Validators.IsGuid(request.Content.BankID))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el ID de la cuenta.", 1410);
                }
                else if (request.Content.StartDate.HasValue && !request.Content.FinishDate.HasValue)
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el Periodo de búsqueda.", 1412);
                }
                else if (!request.Content.StartDate.HasValue && request.Content.FinishDate.HasValue)
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el Periodo de búsqueda.", 1414);
                }
                else
                {
                    using (var db = new DataBase())
                    {
                        try
                        {
                            db.AddParameter("request", SqlDbType.Xml, request.ToRequestEmpty());
                            db.AddParameter("content", SqlDbType.Xml, request.Content);
                            db.AddParameter("done", SqlDbType.Bit, ParameterDirection.Output);

                            db.FillDataTable(response, "adm.SP_BANCO_TRANSACCION_LISTA", (dt) =>
                            {
                                if (Convert.ToBoolean(db.GetParameter("done")))
                                {
                                    response.Result   = Common.Populate <TranData>(dt);
                                    response.CodeName = (dt.Rows.Count > 0) ? Codes.Found : Codes.NotFound;
                                }
                                else
                                {
                                    response = Common.Populate <ResponseEmpty>(dt).First().ToResponseObject <TranData[]>(new TranData[0]);
                                }
                            });
                        }
                        catch (Exception ex)
                        {
                            response.ConfigureAndLog("Ha ocurrido un error al listar los movimientos de la cuenta bancaría.", 1500, ex);
                        }
                    }
                }
            }

            return(response);
        }
예제 #4
0
        public static ResponseObject <BankData> Submit(RequestObject <BankSubmit> request)
        {
            var response = new ResponseObject <BankData>();

            if (RequestsExtensions.IsValid(request, response))
            {
                if (string.IsNullOrWhiteSpace(request.Content.Name))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el nombre de la cuenta.", 1410);
                }
                else if (request.Content.Description == null)
                {
                    response.Configure(Codes.BadRequest, "Favor de especifica la descripción de la cuenta", 1412);
                }
                else if (!request.Content.IsActive.HasValue)
                {
                    response.Configure(Codes.BadRequest, "Favor de especifica el estatus de la cuenta", 1414);
                }
                else
                {
                    using (var db = new DataBase())
                    {
                        try
                        {
                            db.AddParameter("request", SqlDbType.Xml, request.ToRequestEmpty());
                            db.AddParameter("content", SqlDbType.Xml, request.Content);
                            db.AddParameter("done", SqlDbType.Bit, ParameterDirection.Output);

                            db.FillDataTable(response, "adm.SP_BANCO_INSERTA", (dt) =>
                            {
                                if (Convert.ToBoolean(db.GetParameter("done")))
                                {
                                    response.Result   = Common.Populate <BankData>(dt).First();
                                    response.CodeName = Codes.OK;
                                }
                                else
                                {
                                    response = Common.Populate <ResponseEmpty>(dt).First().ToResponseObject <BankData>();
                                }
                            });
                        }
                        catch (Exception ex)
                        {
                            response.ConfigureAndLog("Ha ocurrido un error al registrar una cuenta bancaría.", 1500, ex);
                        }
                    }
                }
            }

            return(response);
        }
        public static ResponseEmpty TranImport(RequestObject <TranImport> request)
        {
            object[][] rowList;
            var        response = new ResponseEmpty();

            if (RequestsExtensions.IsValid(request, response))
            {
                if (!Validators.IsGuid(request.Content.BankID))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el ID de la cuenta.", 1410);
                }
                else if (string.IsNullOrEmpty(request.Content.FileName))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el nombre del documento.", 1412);
                }
                else if (!request.Content.FileSize.HasValue)
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el tamaño del documento.", 1414);
                }
                else if (string.IsNullOrEmpty(request.Content.FileType))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el tipo de documento.", 1416);
                }
                else if (string.IsNullOrEmpty(request.Content.FileData))
                {
                    response.Configure(Codes.BadRequest, "Favor de especificar el contenido del documento.", 1418);
                }
                else
                {
                    if (Bank.TranValidate(request.Content.FileData, response, out rowList))
                    {
                        using (var db = new DataBase())
                        {
                            try
                            {
                                db.AddParameter("request", SqlDbType.Xml, request.ToRequestEmpty());
                                db.AddParameter("content", SqlDbType.Xml, request.Content);
                                db.AddParameter("rowdata", SqlDbType.Xml, rowList);
                                db.AddParameter("done", SqlDbType.Bit, ParameterDirection.Output);

                                db.FillDataTable(response, "adm.SP_BANCO_TRANSACCION_IMPORTA", (dt) =>
                                {
                                    if (Convert.ToBoolean(db.GetParameter("done")))
                                    {
                                        response.CodeName = Codes.OK;
                                    }
                                    else
                                    {
                                        response = Common.Populate <ResponseEmpty>(dt).First();
                                    }
                                });
                            }
                            catch (Exception ex)
                            {
                                response.ConfigureAndLog("Ha ocurrido un error al importar movimientos bancarios.", 1500, ex);
                            }
                        }
                    }
                }
            }

            return(response);
        }