Esempio n. 1
0
        public IActionResult Create(YachtTourInformationCreateModel model)
        {
            var result = _yachtTourInformationServices.Create(model);

            if (result.IsSuccessStatusCode)
            {
                return(Ok(result));
            }
            return(BadRequest());
        }
        public BaseResponse <bool> Create(YachtTourInformationCreateModel model)
        {
            using (var transaction = _db.Database.BeginTransaction())
            {
                try
                {
                    if (model == null)
                    {
                        return(BaseResponse <bool> .BadRequest(false));
                    }
                    var rs = _commonValueService.GetListCommonValueByGroup(CommonValueGroupConstant.TourInfoType);

                    DateTime?activetdDate = null;
                    if (model.ActivatedDate.HasValue)
                    {
                        activetdDate = model.ActivatedDate.Value.Date;
                    }
                    var date = DateTime.Now.Date;

                    var info = new YachtTourInformations();
                    info.InjectFrom(model);
                    info.TourInformationTypeResKey = rs.IsSuccessStatusCode ?
                                                     rs.ResponseData.FirstOrDefault(x => x.ValueInt == model.TourInformationTypeFid).ResourceKey : null;
                    info.DefaultTitle     = model.Title;
                    info.UniqueId         = UniqueIDHelper.GenarateRandomString(12);
                    info.LastModifiedBy   = _userId;
                    info.LastModifiedDate = date;
                    info.IsActivated      = true;
                    info.ActivatedBy      = _userId;
                    info.Deleted          = false;
                    _db.YachtTourInformations.Add(info);
                    _db.SaveChanges();

                    var detail = new YachtTourInformationDetails();
                    detail.InjectFrom(model);
                    detail.InformationFid   = info.Id;
                    detail.UniqueId         = UniqueIDHelper.GenarateRandomString(12);
                    detail.ActivatedBy      = _userId;
                    detail.LastModifiedBy   = _userId;
                    detail.LastModifiedDate = date;
                    detail.IsActivated      = true;
                    detail.Deleted          = false;
                    _db.YachtTourInformationDetails.Add(detail);
                    _db.SaveChanges();

                    transaction.Commit();
                    return(BaseResponse <bool> .Success(true));
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(BaseResponse <bool> .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace));
                }
            }
        }